My Salary History

Jeremy Keith posted his salary history last week. I absolutely agree with him that employers exploit the information gap created by opaque salary advertisement, and I think that our industry of software engineering is especially troublesome for this.

So I’m joining him (and others) in choosing to share my salary history. I’ve set up a new page for that purpose, but here’s the summary of its initial state:

Understand

A few understandings and caveats:

  • For most of my career I’ve described myself as a “Full-Stack Web Applications Developer”, but I’ve worked outside of every one of those words and my job titles have often been more like “CMS Developer” or “Senior Engineer (Security)”.
  • My specialisms and “hot areas” are security engineering, web standards, performance, and accessibility.
  • When I worked multiple roles in a year, I’ve tried to capture that, but there’ll be some fuzziness around the edges.
  • The salaries are rounded slightly to make nice readable numbers.
  • I’ve not always worked full-time; all salaries are translated into “full-time equivalent”1.
  • I’ve only included jobs that fit into my software engineering career2.
  • If the table below looks out-of-date then I’ve probably just forgotten to update it. Let me know!

History

Year Employer Salary Notes
2025 – 2026 Firstup £80,000 Remote. + Stock (spread over four years).
2024 – 2025 Automattic £111,000 Remote. + Stock (one-off bonus, worth ~£6,000).
2023 Automattic £103,000 Remote.
2021 – 2022 Automattic £98,000 Remote
2019 – 2020 Automattic £89,000 Remote.
2015 – 2019 Bodleian Libraries + Freelance £39,000 Hybrid.
2011 – 2014 Bodleian Libraries £36,000 Practices salary transparency! ❤️
2010 – 2011 SmartData + Freelance £26,000 Remote.
2007 – 2009 SmartData £24,000
2004 – 2006 SmartData £19,500
2002 – 2003 SmartData £16,500 Alongside full-time study.
2002 CTA £18,000
2001 Freelance £4,500 Ad-hoc and hard to estimate.
Alongside full-time study.

What does that look like?

I drew a graph, but I don’t like it. Mostly because I don’t see my salary as a “goal” to aim for or some kind of “score”.

It’s gone up; it’s gone down; but I’ve always been more-motivated by what I’m working on, with whom, and for what purpose than I have been on how much I get paid for it3. But if you want to see:

Graph showing my salary history: the same data as is in the table above.

I’m not sure to what degree my career looks typical or not. But I guess I also don’t care! My motivations are probably different than most (a little-more idealistic, a little-less capitalistic), I’d guess.

Footnotes

1 i.e. what I’d have earned if I had worked full-time

2 That summer back in college that I worked in a factory building striplight fittings doesn’t appear, for example!

3 Pro-tip if you’re looking at my CV and pitching me an opportunity: mention what you expect to pay, sure, but if you’re trying to win me over then tell me about the problems I’ll be solving and how that’ll make the world a better place. That’s how you motivate me to accept your offer!

×

Aber Graduates Earn Least In UK

This is just fucking weak: the average salary of an Aberystwyth graduate is just £12,968… the lowest in the UK. And on this crappy ‘probationary period‘, that’s still more than I earn. Fucking shitty.

Feeling unmotivated now. Not getting enough work done.

Thursday Afternoon

Good progress at work today, easily catching up on the things I didn’t get done yesterday on account of having been at the Royal Welsh Show.

AbNib is proving itself popular, but I’m still not happy with it: there are a load of really cool features I’d like to add, yet. But that’s a job for another day. I’ll be up in Lancashire this weekend for Andy‘s party and to visit my folks, so I can’t do it then, either.

Claire’s gotten herself temporarily sterilized with a fantastic hyperdermic full of progesterone and with the aid of the nice people at Aberystwyth Family Planning Clinic. Woo and indeed hoo. She’s (theoretically) a lot less likely to forget to have an injection every three months than she is to forget to take the pill: something she’s demonstrated herself to be very proficient at.

I’ve been excessivley stressed for the last 48 or so hours. I think it’s mostly a result of having no money and my paycheque still being a week away, and having to live off my credit card in the meantime (which I don’t like doing). Also that my crisp-wound in my mouth from the other day has developed into a spot which would probably heal faster and hurt less if I could stop playing with it, but I can’t. And that I’m not making nearly as much coding progress on Three Rings as I should be.

I have a strange urge to go for a long walk in the rain this evening. I hope it rains.

Late

Running late for work. Was supposed to get up and take laptop to Daton as part of an insurance scam, but I’m still at home after having woken up late. Still, Claire’ll be at work until about 1am today… in Newtown… so there’s no benefit to me coming home early. I’ll work late.

Updated Troma Night at long last – this web site chronicles the things I get up to on termtime Saturday nights.

Suppose I oughta go get this laptop sorted and put my paycheque into the bank, then get my lazy layabout arse to work.

Chasing The Paycheck

What with unavailable accountants and worse, I’ve not been able to get my paycheque until today – a week later than expected. I have £2.50, half a loaf of bread, a tin of beans, and a packet of super noodles to live on until my cheque is cashed. I don’t think that Sainsbury’s Recipe Finder quite understood me when I explained my situation, on account of it suggesting the following:

Cowboy Baked Beans
Prep and cook time: 30 mins to 1 hour
Serves: 6-8
Ingredients: 25g butter, 1 large onion, chopped finely, 1 clove garlic (optional), crushed, 2.5cm piece fresh root ginger, crushed, 1 each green and red pepper, cored, seeded, and chopped, 2 carrots, diced, 30ml vinegar, 60ml clear honey, 5ml Worcestershire sauce, 900g baked beans (hah! I only have a 450g can of baked beans anyway), 125g streaky bacon, sliced.

If you want the full recipe, go visit Sainsbury’s Recipe Finder.

In the end, Kit and I celebrated my paycheck by buying a heap of interesting looking ingredients from Somerfield, and made ourselves some cheesy garlic bread, a smokey-mince and pork tomato sauce with pasta-thingy, and some cheesecake. Then ate most of it. Fab.

It’s amazing what a little money will do for you. Last night we ate corned beef on toast.