Resume -- Charlie Stross (LAST UPDATED: 2002)


This resume dates to 2002, the last time I was looking for a job in tech. Since then, I've been working full time as an SF novelist (and occasional tech journalist -- less of that since 2005). Wikipedia keeps track of my crimes against sanity these days.


Software consultant, writer, and developer, specialising in Perl, Linux, and open source (with a background in web architecture and e-commerce).

Note: I left Datacash (see below) last June, and have been taking some sabbatical time -- working as a freelance computer journalist, de-stressing from the startup/IPO cycle, and helping set up a new company, of which I am Chief Technology Officer and co-founder. More on this as/when we actually start shipping code.

Current position(s):

Senior programmer at DataCash Ltd, the UK's leading e-commerce payment service provider. Was the first programmer hired at DataCash, wrote their core Payment Service System, and has seen it through to IPO (trading as Auxinet PLC on AIM from March 22, 2000). Responsible for recruitment, inception, design and management of software projects, determining the architecture of the company's core business systems, and fixing things when they break and nobody else understand them.

Linux columnist, Computer Shopper magazine. (In the UK this title is owned by Dennis Publishing, not Ziff-Davis.)

About my role at DataCash:

Founded in September 1997, DataCash was set up with a remit to write software to authorise and settle credit card payments via British acquiring banks. (The British banking system interfaces with EPOS terminals and retailers via a non-standard set of protocols specified by APACS, the Association of Payment Acquiring and Clearing Services, rather than the more common ISO payment protocols.) DataCash operates as a service company, charging a fixed fee per transaction, but develops its own software internally.

At DataCash, I wrote the core systems that authorise credit card payments online (communicating with acquiring banks via APACS30 protocol over X.25 network) and batch transactions for settlement (via the APACS29 protocol, using a variety of delivery methods). This software, now at release 2.5, is hosted on Linux and the DataCash service currently settles 250,000 credit card transactions per month; this is expected to rise to 250,000 per day over the next six months. DataCash has 30% of the UK PSP market and is poised to expand into the rest of the EU over the next year.

I implemented the authorisation server and settlement file toolkit in Perl, with mSQL (later changing to MySQL; a move to distributed Oracle is planned) as the back-end RDBMS. The system is multi-currency capable, can handle multiple concurrent transactions and multiple banks, has fail-over facilities to cope with authorisation network outages, and is absolutely critical to DataCash Ltd's success. (DataCash is due to merge with Corporate Executive Services (AIM: CEX) to produce a new company, Auxinet PLC, on March 22nd, with DataCash responsible for the majority of group turnover.) The core systems, last time I looked, amounted to roughly 35,000 lines of object-oriented Perl 5, split into about eight or nine modules. (The reporting/user interface system, which I didn't write, is of similar size.)

In the process of developing DataCash I liaised with staff at management and operations levels in all but one of the UK acquiring banks, worked out protocol specifications for the DataCash payment protocol (which clients use to talk to the DataCash servers). As senior developer at DataCash I am currently responsible for planning new software projects, writing specifications, liaising with HR on recruitment and staffing issues, and dealing with maintenance and internal support issues; in effect, I run core systems development, and report to the IT director (although DataCash is not yet mature enough to have a formal organisational structure with distinct departments within the development team).

About Computer Shopper:

Computer Shopper is the UK's highest circulation monthly newsstand computer magazine. I write the regular Linux column. I've been writing for Shopper on a freelance basis since 1991, and wrote the first review of Linux in the mainstream British computer press (July 1994). You can find an archive of published columns here.

I got this gig mostly because I was the only guy Jeremy Spencer (Shopper's editorial director) knew who was heavily into UNIX. I've been using various flavours of UNIX since 1989, including spending three and a half years working at SCO: I've worked with SCO UNIX, Xenix, Solaris, SunOS, Irix, Coherent, and Linux in my time (although Linux, for obvious reasons, is the one that interests me most).

What I did before DataCash:

I've been working with Linux and Perl full-time since the beginning of 1995 -- first as developer at FMA Ltd (Scotland's first web consultancy, now defunct), then as a freelance contractor (variously subcontracting for Dave Parsons -- who wrote McAfee Inc.'s WebShield product -- then for Demon Internet). Along the way I wrote a web book (who didn't?) -- "The Web Architect's Handbook" (pub. Addison-Wesley, 1996). While at FMA I wrote far too much bad Perl code (learning by doing), developed scripts for web site automation, was technical backstop for Demon Internet's web support people -- then the largest commercial web hosting service in Europe -- and had to put on a suit and go visit clients and solve their problems. (Technology checklist: Linux -- Red Hat 2.0.2, would you believe? -- Perl, Solaris, HTML, CGI, shell scripting, web spiders.)

Before FMA, I worked from 1991 to 1995 at SCO Inc's EMEA headquarters in Watford, London, as a technical author attached to the SCO UNIX and SCO OpenServer development groups. Along the way I learned far more than anyone should ever have to learn about System V UNIX, while writing some of the more technical chunks of SCO's documentation set. (The corpus on shell programming in SCO Open Server 5.0 is entirely my fault, as was the SCO Visual TCL manpage.) From early 1993 onwards SCO techpubs was heavily involved in web technology -- HTML was the delivery medium for SCO OpenServer's documentation -- and that was how I got into the web and Perl. (While at SCO I was indirectly responsible for the Robot Exclusion Protocol -- it was my first robot that Martin Kjoster, author of the protocol, wanted to exclude.)

Before SCO, I had a nine-month spell as tech author for Real World Graphics (now defunct -- that's what happens to small British start-ups that try to go head-to-head with SGI) after graduating with a master's degree in Computer Science from the University of Bradford.

Before that, I used to be a computer-obsessed pharmacist, but you probably don't need to know about that chunk of my history.

Other information: