An adaptable software engineer with twenty years’ experience
- Quick learner—proven ability to pick up new systems and languages
- Very good at debugging
- Able to defuse conflict and maintain the trust of customers and colleagues
- Particularly effective under time pressure
- Six years in software build and release management—designing and implementing automated build systems; persuading a large development team to use source control; specifying and deploying issue-tracking systems; participating in triage decisions to determine content of releases
- Nine years writing and maintaining C programs
- Six years managing teams
- Two years acting as technical liaison for clients
- Nine years running a business
Perl (4 years); GNU Make (4 years); Python (recently learned); Bash; InstallShield for Windows
C (9 years); PostScript (7 years)
Source control systems
Subversion; Mercurial; CVS; RCS; Harlequin’s home-grown system
Unix, including GNU/Linux; Windows
Emacs; Microsoft Visual C++
Also see my LinkedIn profile.
Since May 2012: Code Red Technologies Ltd as Principal software engineer
Responsible for product build and continuous integration system
1996–2000 (4 years): ARM Ltd as Principal software engineer
Leader of the Build Team within the Development Systems Business Unit
- Designed and implemented a configurable multi-product, multi-platform automated build system that checked out sources and created tagged, labelled product builds as CD images ready to install.
- Recruited and trained staff to use and maintain this system, providing a build service to the Business Unit: building products nightly, feeding back errors to developers, archiving the results and supplying tagged builds for test and release.
- Administered a multiple-repository CVS source control database (serving about 50 users) including branching, merging and policy decisions on working practices.
- Implemented and maintained InstallShield installers for several products.
1989–96 (7 years): Harlequin Ltd (now part of Global Graphics Software Ltd)
1994–6 (2 years): Software developer in the Electronic Publishing Division
- Worked on the Core RIP (the portable heart of the PostScript-compatible interpreter), continually switching between Windows NT, Unix and Macintosh development environments in order to deal with portability issues.
- Served as bug-fixing coordinator, organizing bug-fixing efforts and keeping management informed of our progress, and as software development representative in the bug triage team.
- Was a member of the divisional group leaders’ committee, where technical decisions were made.
- Performed integration and overnight builds on Unix, and source code administration.
1993–4 (1 year): Helping to establish a new office in Cambridge, Massachusetts
- Was initially responsible, with one assistant, for front-line technical support and consultancy for OEM customers. Gradually built up a cross-site Customer Support Group by recruiting and training specialist technical support staff in Britain and the USA.
- Designed the company’s first bug-tracking and support-call databases, and persuaded developers, testers, management and support staff to use them.
- Managed releases, and finding and fixing bugs in the Mac, PC and Unix versions of the PostScript-compatible interpreter, especially the parallel version.
1992 (6 months): Manager of the new Technical Services Division
Responsible for company-wide computer systems, customer support and documentation services.
1989–92 (3.5 years): Developer
Worked on a Unix-based multi-processor high-resolution version of the PostScript-compatible interpreter. This included two years of overall responsibility for maintaining this product, and managing two other programmers. Fixed difficult parallelism-related bugs; implemented major improvements especially in memory management; maintained a close relationship with the OEM customer, including frequent site visits overseas.
1984–8 (4 years): Topexpress Ltd, Scientific and Computer Consultants
Worked on a variety of software projects with particular emphasis on compilers, run-time systems and symbolic debuggers.
- Wrote an x86 back end for a C compiler.
- Wrote the first symbolic debugger (ASD) for the ARM processor.
- Ported a C compiler and added a runtime library and symbolic debugger.
- Wrote a financial package with a graphical user interface on the Macintosh.
1982–4 (2 years): Aries Computers Ltd
Wrote an assembler for the Z80, and then used it to write communications software.
1981–2 (1 year): CICS Ltd
Wrote application software in BCPL on Z80-based microcomputers.
Education, training and other skills
While at ARM I attended professional courses on software test automation, C++ programming and staff recruitment. I have also undergone extensive training in support of my publishing work, and have attained Advanced Membership of the Society for Editors and Proofreaders.
- Web implementation using HTML, CSS, Dreamweaver and WordPress customization
- Extensive professional experience with Adobe InDesign, Photoshop, Microsoft Word and OpenOffice Writer, and in writing, editing and proofreading publishable copy for print and web
Recent (but not directly relevant) experience
I took a break from my main career in 2000 to pursue some other projects. In 2001 I served for six months as Agent to Anne Campbell, MP. I stood three times for election to the City Council, and I exhibited my art work in Cambridge Open Studios 2004.
In 2003 I set up my own company providing editorial and typesetting services to publishers. I have since completed over 100 book projects, ranging from advanced computer science texts to children’s fiction. Publishers include John Wiley, Pearson and CUP; tasks include page design, layout, copy-editing and proofreading. Meanwhile I have also operated a profitable holiday narrowboat hire business over several seasons, and I worked for six months as a Local Organizer for Yes in May 2011 Ltd.