An adaptable software engineer with more than 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
- Nine years in software build and release management—designing and implementing automated build and test 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
Integration and test technology
Jenkins (3 years); Robot testing framework (2 years)
Perl (4 years); GNU Make (4 years); Python (3 years); Bash
C (9 years); PostScript (7 years)
Source control systems
Subversion; Mercurial; CVS; RCS; Harlequin’s home-grown system
Unix, including GNU/Linux; Windows; Mac OSX
Emacs; Eclipse; Microsoft Visual C++
Also see my LinkedIn profile.
Since May 2012: Code Red Technologies Ltd as Principal software engineer
After NXP’s acquisition of Code Red in 2013: NXP Semiconductors.
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
Other 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, CUP and OUP; tasks include page design, layout, copy-editing and proofreading. Meanwhile I 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.