David Thompson


My name’s David. I build things on the Web. I’m looking for a job happily employed at the moment, but there’s no harm in chatting.

Things I’m good at


I’ve got a decade of professional programming experience, mainly writing the back-ends of websites. Most of my experience has been in Python and Ruby; I’ve worked in (or tinkered with) a few other languages too, from time to time.

I’ve worked for the UK’s Government Digital Service (where I helped to build GOV.UK), the online learning platform FutureLearn, and the Web annotation non-profit Hypothesis.

While most of my experience has been writing back-end code, I’ve also got enough experience with front-end coding to understand the value of semantic HTML, maintainable CSS and resilient JavaScript, and enough experience on the infrastructure side to understand the value of actionable metrics, of boring technology, of a swift and reliable path to production, and of enough information to dig into when things inevitably go wrong.

Helping teams get things done

Over my career, I’ve worked on teams that have worked incredibly well together, and on teams that have struggled. Over the last couple of years, I’ve started to take on roles where I’ve had a greater (and more explicit) hand in helping my team to be more productive and more satisfied, and removing blockers that get in the way of people doing their best work. This is definitely something I’d be interested in developing further in my next role.

Things that are important to me

Solving problems well

I get a big kick out of finding elegant solutions to real problems. If I understand the problem I’m working on, I’m going to be much more effective at solving it. In my experience, the best way to develop that kind of understanding is to get something in front of real people and see how it works, so I do my best work in teams that work in small, iterative chunks, starting with user needs.

Working on a great team

I work best as a part of a trusting, collaborative, cross-disciplinary team. I believe that the best teams comprise individuals who are kind and smart (in that order), working together and supporting each other to reach a common goal. If your team or company has an explicit “no jerks” rule, I consider that a plus.

Having a real work–life balance

I enjoy my life outside work, and I want to be somewhere that supports me in that. As the folks at Slack put it, I like to work hard and go home.

I live in Cambridge (the one in the UK, not the one in Massachusetts). I like it here. Ideally, I would like to work remotely (although I recognise that comes with its own set of challenges), or work in an office here in Cambridge. I can spend up to a couple of days a week working in London for the right role, but I don’t want to spend a significant portion of my life on a train.

Learning new things

I’m curious; I enjoy taking the time to learn new things. That could be a new language or tool, a new aspect of team dynamics I hadn’t considered, or a new way of organising infrastructure. If there are people on my team I can learn new things from (and, just as importantly, time in which to learn them), I’m much more likely to be happy.

One more thing…

Last year, I was diagnosed with Asperger syndrome. I’m still figuring out the details of what this means for me in a work setting, but I know that it means I appreciate clear communication from people, that I need to understand the context behind the work I’m doing if I’m going to do it well, and that I might need a bit of extra support when things change unexpectedly. It’s also what makes me as good as I am at what I do.

Sound good?

Does this sound like I might be a good fit for your organisation? As I said, I’m not looking at the moment, but feel free to send me an email or a message on Twitter (you can send this even if I don’t follow you).

If you’d like to find out a bit more detail about where I’ve worked, you can take a look over on LinkedIn.

Thanks for reading.