Reuben Thomas: CV
- Full name
- Reuben Rhys Thomas
- Date of birth
- 13th November 1973
- Contact address
- 9 Oughtonhead Way, Hitchin, Herts. SG5 2JZ
- +44 7791 179665
- Names provided on request
This CV was last updated on 25th October 2012. It is also available as PDF.
I am a software engineer and evangelist with a background in research. I can untangle complex problems to focus on what is important, identify simple solutions that involve minimal disruption, build consensus around their adoption and guide their implementation. I contribute to a wide variety of free software, and consult for a range of individuals and businesses.
1.1 Personal qualities
I always aim to practise the three cardinal virtues of a programmer:
- Human time and talent is precious, and should be used where it is really needed. I seek to reduce human effort (often we can simply do less; otherwise, we can use machines), reuse techniques and tools to solve old and new problems, and recycle past investments wherever possible. I aim for “right first time” solutions that do just enough to satisfy today’s needs while leaving the door open to further improvements tomorrow.
- We should not put up until tomorrow with what we can fix today: the sooner we improve our situation the longer we shall reap the benefits. I always ask the question: what is the simplest thing I can do for the biggest return?
- Existing solutions are not always best: when it seems best to start afresh, I will.
These virtues are informed by the three fundamental values:
- All of my activities are driven by a strong aesthetic sense which favours the simple and elegant over the flashy or ornate.
- Whether communicating orally or in writing, with people or machines, it is important to conform to reality: honesty and accuracy matter more than plans and precision.
- Life is not a race, it’s a symphony. Ultimately our contribution is measured by how much we enable others to make theirs.
1.2 Technical skills
- I can structure, write and edit documents (see section 2.1) in a fluent yet terse prose style. Besides my PhD thesis, I have published several papers on my research, written a prize-winning essay, and worked extensively on documentation for dozens of programs. I am expert in LATEX (some of my packages are available on CTAN), and am also familiar with DocBook.
- Oral communication
- I have excellent oral communication skills, including fluent French, conversational Italian and basic Dutch and German, and am practised at addressing audiences large and small.
- Software development
- I have a firm grasp of the software development process from analysis and design through coding and testing to delivery, support and maintenance. I have implemented a complete ANSI Forth compiler, aForth, ARM and virtual machine back-ends for the LCC C compiler, and have worked extensively on maintaining, porting, and extending the Glasgow Haskell Compiler and the Lua system. For Adsensus Ltd, I have implemented a simple but powerful web site templating system, Nancy, and XML-based tools to allow web pages to be written in tightly-controlled Microsoft Word forms.
- Programming languages
- I can use a wide range of languages in various paradigms. I am expert in C and Lua, experienced in Perl and bash, and familiar with C++, Python, Ruby and Lisp. I am familiar with most major styles and families of languages, and am able to bring the benefits of all to each. I have worked extensively with XML as a data language, and am familiar with SQL.
- Operating systems
- I am familiar with major operating systems, and the issues involved in building and maintaining portable software. I have developed on many UNIX-style platforms (particularly Linux), and have a strong focus on developing portable software with standards such as POSIX and ISO C. I have also worked with proprietary operating systems such as Windows, and such oddities as Acorn RISC OS and EPOC.
2 Parallel employment
For most of my career I have worked simultaneously in a number of fields:
2.1 2003–present: Editing, writing and proof-reading
I have worked as editor, translator, copy-writer and proof-reader on a variety of projects, including translating a major text-book in theoretical computer science from French into English, editing and writing copy for personal and company web sites (see section 2.4), and editing and proofing documents ranging from academic papers to career-critical professional letters.
2.2 1997–present: Adsensus Ltd
I am a Principal of Adsensus Ltd, a consultancy with a focus on process and culture change in IT companies. I am responsible for the company’s own technical infrastructure, and developed the tools it uses to build customisable web applications, which have a particular emphasis on modularity and the ability to be customised through Microsoft Word templates.
2.3 1995–present: Free software
I have contributed extensively to a wide range of free software, with particular emphasis on improving robustness, portability and interoperability. Projects to which I have made major contributions include SoX, the sound converting and processing program, file, the file identifier, GNU Zile, the text editor which is a portable and resource-light clone of Emacs, and several widely-used fundamental libraries for the popular Lua scripting language.
2.4 2005–present: Web presence design and consultancy
I have built and advised on a number of web sites for private and commercial clients, providing not just technical expertise, but design, copywriting and social media advice and input. Client sites include Perfect Pitch Music and the composer John Rutter. My focus is on sites that are simple, attractive, lightweight, accessible and standards-compliant, keeping use of bells and whistles to a minimum, and integrating well with widely used social media sites.
2.5 1989–present: IT consultancy
As a consultant to individuals and companies, I work with clients to identify and then meet their needs at the level that works for them, whether they are technically advanced or neophytes, and whether they want to be heavily involved in planning and decision-making or would prefer to have me take decisions for them.
I can give one-off or on-going advice; my longest-standing client is Collegium Records, an independent record label, which runs a highly heterogeneous on-site system, including machines with four different operating system families as well as off-site internet presences, for whom I have acted as systems administrator, IT strategist, and social media consultant.
I have also taken on roles that involve considerable trust, such as forensic analysis of sensitive personal data.
2.6 1982–present: Singer
I am a professional classical singer, working regularly with a wide range of groups and appearing as a soloist. For more details, see my Singing CV.
3 Serial employment
At the start of my career I worked principally in full-time employment:
3.1 November 2001–August 2003: Programmer at Protechnic Exeter Ltd
I worked on the Priority Health Connection health management system, which is used in NHS trusts across the UK and Eire. My tasks ranged from application programming and bug fixing to planning future developments and development methodologies.
3.2 1999–2001: Postdoctoral research assistant at the University of Glasgow Department of Computing Science
4.1 1995–2000: PhD at University of Cambridge Computer Laboratory
I designed and implemented Mite, a virtual machine that allows multiple languages to be compiled into binary-portable object code, and translated at load-time into native code. Producing good quality native code is left to the compiler, and does not affect the speed of the fast load-time translator.
4.2 1992–1995: BA in Computer Science with Mathematics at St John’s College Cambridge
I obtained first-class honours in Computer Science with Mathematics, and was awarded several prizes and a college scholarship for my examination results (which included obtaining the second highest mark in the university two years running), and the St John’s College Master’s Essay Prize for an essay on the future of computing.
5 Other interests
This document was translated from LATEX by HEVEA.
Last updated 2016/02/26