About
Who I am, what I work on, how I work, and the things I build in my own time.
I’m Tom Gould, Development Lead at Bright Sites, based in London. I started in online marketing in 2004, moved into web development in 2007 and have worked mainly in PHP since 2010.
What I work on
Since October 2015 I’ve been at Bright Sites. Bright Sites makes software for newsrooms and publishers: Flow, a CMS, and Storycue, which recommends and plans content. More than 200 publishers use its products. I joined as a senior developer on The Independent and the Evening Standard websites, where the work was new features and keeping a busy, constantly changing news platform fast. Since 2021 I’ve been the company’s Development Lead.
From April 2014 I worked as a contractor. At Turner Broadcasting I looked after the sites behind its TV channels on my own, a job a team of six had done before. Before that I was the lead developer on Wonga’s website, in a large agile team of mostly C# developers, and earlier a back-end developer at Tigerfish, a small agency where three developers and two designers looked after around 100 client sites. I started out writing classic ASP for a group of affiliate sites, after three years on pay-per-click campaigns at Summit Media.
The full history is on my CV.
How I work
I like building custom applications, and I’m just as happy tidying up, fixing and speeding up code that’s been around for years. I look for the most efficient way to solve the problem, whether that’s new code, an existing library or a third-party service.
A few habits show up across the projects on this site:
- I write down how the parts fit together. Where Should I Live has a data contract that every write is checked against. TurboPush has a protocol document and a conformance suite that tests any server against it.
- I check data and behaviour before release, not after. Where Should I Live won’t build if the data has drifted, and its calculators run over every city first.
- I keep one copy of the logic. When I rebuilt the Solar Calendar, one TypeScript date library replaced two near-copied pages and a PHP port that disagreed with them.
- I treat the parts that face the internet as hostile. The upload endpoint in TurboPush and the feed fetcher in RSS to JSON both went through security reviews before their latest releases.
- I write documentation in plain English and test pages for accessibility.
I’ve worked in large teams and on my own, reporting to product owners and stakeholders, and I plan, estimate and lead the work as well as doing it.
Things I build in my own time
- Where Should I Live ranks 78 cities by take-home pay, monthly costs, visas, climate and safety, for a single person or a whole household.
- Solar Calendar is a calendar of 13 identical 28-day months, with the year starting on the first Monday on or after the spring equinox.
- Apple News API is a PHP client for publishing to Apple News.
- TurboPush uploads large files from the browser in resumable chunks, with a PHP endpoint that reassembles them safely.
- Puzzler PHP SDK, RSS to JSON, ScrapePy, Scrape and Reelify are smaller tools and experiments.
The source for most of them is on GitHub. If you’d like to talk about any of it, use the contact form.