Thomas Guest


Programmer

I am an experienced and enthusiastic computer programmer.

At work I develop dedicated servers used in the digital television broadcast chain. Some specialised hardware is required for interfacing with transmission equipment but otherwise our products use standard software technologies and protocols. We use portable C++ and C for low-level performance-critical code and Python for everything else. I am also involved with products a little further along the transmission chain (at the far end, in fact) working on embedded C code for digital TV receivers.

Previously I worked on a product designed to check digital media prior to transmission, using Java based technology on top of a C++ core library. Before that I wrote portable C++ to run on digital television receivers. And before that, I worked on virtual reality systems, solid modelling and so on.

Problem Solver

My background is in mathematics and mathematics is all about problem solving. Problem solving is what I like best. I used to regard computers and computer languages as tools to get things done. Now, though, while problem solving is still what excites me most, I'm increasingly interested in the tools I use to solve problems.

In my experience the best solutions are the simplest ones. Simple solutions are easier to extend, easier to understand, easier to validate. The trouble is, they may not be the ones you arrive at first. Who hasn't ever thought: I know how I'd re-write this, if only I had the time...?

This is why I like agile methodologies: they promote an environment where design remains flexible, and where refactoring is encouraged.

Sometimes complexity is necessary, of course, but even then I believe it is possible to work in an iterative and incremental fashion, at each stage delivering a stable, functional and tested product.

The kind of problems I have worked on before include:

Team Worker

I like working in a team. Most of all I like working with people in the same room as me – I prefer direct interaction to email or phone-calls – but I have worked on teams which span continents and timezones. I have some experience of Open Source software development and realise that the very highest quality software can be written by people who haven't even met.

Family

Life wouldn't be so much fun without my wife Gail and our two children, Isobel and Alex. We live in a house on the side of a hill in Bristol, UK.

Likes

ACCU, bonfires, bicycles, Boost, Bristol, C, C++, computers, drawing, emacs, Elvis, family, fish and chips, football, The Goodies, Google, Gower, GNU, Holbein, holidays, internet, James Brown, Kerala, libraries, Mexico with Gail, nephews, open source, painting, Perl, Python, QuickBook, reading, regular expressions, the Rings of Saturn, rock-climbing, running, Scheme, Spirit, swimming, thalis, Tour de France, walking, whisky, WikiWiki, writing, X20, XP, yacc, zebras.

Contact

You can get in touch with me by email at: thomas dot guest at gmail dot com.