Recently an engineer more junior than I asked for my advice on her salary. She wanted to know a) whether she was paid fairly for her skills, and b) if I thought it would be a good idea to ask for a bump.

My answer to b) is always: yes. The worst they can say is “no” and if you don’t ask then you definitely won’t get anything.

The answer to a) was harder. I have no idea what the industry average is for someone with her skills and experience. This information is hard to find (which is why she was asking me in the first place) and whatever is out there on the internet always feels a little off.

All I had was my own experience, so I took a deep breath and did something I had never done before: I rattled off, to the best of my recollection, my complete salary history for the last 7 years.

And then I told her why I took that deep breath: I was kind of scared. Not in a taboo-breaking “we don’t talk about money because as a culture we have decided it is uncouth” way (although that for sure played some part in my hesitation), but because I was afraid that, after I told her, some voice in her head would go “how the fuck is Claudia worth that?”.

This, by the way, is someone I trust and very much like; someone who trusts and very much likes me in return, and yet I still worried she’d think some egregious overestimation in my value had been made somewhere.

Of course, what this boils down to is my (in)ability to grasp what I am worth. Because honestly, I have no idea. Most of the time I feel about as useful as a MacBook Pro touchbar; it makes a lot of promises, takes up an irritating amount of space, but in the end it doesn’t give you anything new and just gets in the way of the key below that you actually meant to hit.

I have occasional bouts of excellence (passable competence), I know I am not a complete idiot, but generally I feel I am kind of ‘meh’ at this whole software lark. This is probably why the closer I inch to that 100k mark the more it scares the bajeezus out of me. That amount of money is not playing around, I might actually have to be perfect to justify it.

Imposter syndrome I hear you whisper, and sure there is likely a fair bit of that going on, but what if I am genuinely crap and someone got it wrong? Yeh, I know, I know.

Whatever. Imposter syndrome is something all software engineers feel to varying degrees. Frankly it sometimes feels like it just part of the job and they should list it under the role description or as some counterpoint to “benefits”. Maybe we are all afraid of disclosing our salaries because of this. Who knows? Again, I just have my own experience to draw from.

Maybe salary disclosure would counteract this? Again, :shrug_emoji:. What it does help with is ensuring pay gaps are closed and with stopping employers from getting valuable skills (people) on the cheap.

Which in the end is why I told my colleague everything, so that she could have some sort of scale to weigh herself against. She thanked me and told me that there was no-one else for her to have this conversation with, which again is a common experience for everyone: I have never had this conversation.

I idly mentioned that I should blog about this and maybe help others and she encouraged me to do so.

So here we go.

March 2015

Time as a developer: 0 years, 0 months

Role: Junior Software Engineer

Salary: 25k GBP

My first ever software job! I was so unsure of my worth that I said yes to the first people who asked me. Fortunately I had a great time at that little start-up of fewer than 15 people. (The advice I gave to my wife and still give to anyone else is; for the love of god be more picky than I was. That sort of luck does not always happen.)

What was I doing to earn my salary? I have no idea. I would assume Junior things like trying to learn everything at once and falling dead asleep at 8pm from the sheer impossibility of it all.

June 2015

Time as a developer: 0 years, 3 months

Role: Junior Software Engineer

Salary: 28k GBP

My first salary bump! Someone thought I was un-rubbish enough to warrant a whole 3k a year more. I was thrilled.

I have some memory of what I was doing, mainly CI pipelines and linux sysadmin type things on an open source PaaS.

February 2016

Time as a developer: 0 years, 11 months

Role: Junior Software Engineer

Salary: 35k GBP

The little start-up I was in was bought up by a larger start-up and all our salaries were lifted into line with the rest of the company.

My role was more or less the same, I was still contributing to this open source PaaS. I don’t remember being especially useful, but I have a vague memory of improvising a whiteboard diagram of how a new component worked to explain to others in my team, so I must have been good for something.

As an aside, you may have noticed that I did not have much plan for my career and skills progression. This is fairly evident in that I cannot tell you what I was specifically doing for most of my career. I never asked for a salary review, they just sort of happened to me when other people happened to look my way. And the reason I never asked for a review is because I didn’t have a set of things I wanted to accomplish or things I had accomplished which I could point to and say “look what I did, show me the money”. TLDR: do this. Have a plan, write down each thing you did, not only so you don’t forget, but so that you have a clear record of your value.

September 2016

Time as a developer: 1 years, 5 months

Role: Junior Software Engineer

Salary: 40k GBP

The whiteboarding apparently paid off and I got bumped again. I also got moved onto a new team, and this is where my memory becomes a little (but not much) less hazy.

We were building a root filesystem manager for a PaaS’ container runtime. Basically an alternative to docker. I learned a lot about Linux, how tar works, filesystems (btrfs/xfs/overlayfs/aufs/etc), how container images work, software design, go practices etc.

My “scope of influence” was still quite small. I was still very much a junior IC, just making my own way.

September 2017

Time as a developer: 2 years, 5 months

Role: Software Engineer

Salary: 46.5k GBP

New year, new bump, new team!

Actually I cannot remember when the “new team” happened, at some point in 2017 I switched to the container runtime team for the PaaS.

By then I was more confident, taking on more responsibility, doing more linux, etc. Around this time I also started talking regularly at container-themed conferences.

This was also when I decided to start doing more community work. I started churning out learning materials for people new to code and putting myself out there to offer help with minorities in tech. I joined the company’s Diversity and Inclusion group, and generally sought to widen my impact on the ecosystem at large.

January 2019

Time as a developer: 3 years, 10 months

Role: Software Engineer

Salary: 55k GBP

It was around this point that I realised I was a bit too comfortable. I had been at one company long enough that I had risen to the point where I would have been made a TL… had I not asked to go on sabbatical. Which is what I did in July.

I was good at the things I was good at (namely container runtime, OSS contribution, debugging gnarly systems, debugging the kernel) but could I do anything else? I was about to become a “senior”, but I didn’t feel it. People seemed to be happy with what I was doing, and they believed in me, but in my gut I worried I didn’t live up to the hype. (If this sounds like you, I suggest checking out this post by Charity Majors.)

So off I went on a 6 month break. During that time, the company was bought by another company which I had no interest in working for, so I never went back.

January 2020

Time as a developer: 4 years, 10 months

Role: Lead Software Engineer

Salary: 70k GBP

I went for a TL job at a small start-up in the edge computing space. It was daunting: the tech was new (despite spending years in the container space, I didn’t know the first thing about Kubernetes. Ah, to be so young.), the role was new (while admittedly a natural leader, I had never actually done it before), the product was new (I was designing things to be implemented from scratch in an area of tech which was so new you couldn’t google anything).

The company was very small. <10 engineers who answered to me, who answered to the Head of Engineering.

Well I didn’t want to be comfortable…

So I deployed all the skills I didn’t know I had even learned from that last company and dove into being a Jack (Jill?) of all trades. Line manager, tech lead, mentor, coach, product manager, some poor imitation of an architect, and whatever else was needed #startuplife.

Which ended up leading to…

April 2020

Time as a developer: 5 years, 1 month

Role: Lead Software Engineer, Product Manager, Interim Head of Engineering (yes)

Salary: 75k GBP

As start-ups are wont to do, we hit some snags. And, as I am someone who finds it impossible to not get involved in things that I know I can fix, I ended up filling gaps in places I did not feel fully qualified for or entirely comfortable with.

The CEO and VP of product called and said they had every confidence in me and would I mind filling in these roles for a bit and I thought what the hell.

And while I worked to the point of complete exhaustion, I am glad I went with it. I proved to myself what I was capable of… or would be in about 5 years once I was done working my way up to that sort of power in a slow and sustainable way.

Because while I could technically do it, I still felt too junior to be running things like that. What the hell did I know after just 5 years?

Even just 2 years later I look back on some of the technical decisions I made then and wow are they fucking terrible. smh.

I ended up leaving after just 9 months and decided to wind back a bit and focus on just being a Senior IC for a while; no responsibility, no drama.

November 2020

Time as a developer: 5 years, 8 months

Role: Senior Software Engineer

Salary: 90k GBP

This was my first time being a Senior who could just focus on doing senior-y things. I wrote code; helped others write their code; volunteered to write up designs and document decisions; managed community stuff on open-source repos; took the lead in product planning and discussions; mentored others; etc etc.

Standard senior.

February 2022

Time as a developer: 6 years, 11 months

Role: Senior Software Engineer

Salary: 96k GBP

This is where I am now. Whether or not I deserve to be here I really cannot say.

The role is the same, although now I have more presence in the company thanks to all the flashy product demos I have been doing.

Relatively speaking, that is a shit-load of money. We all get paid well in this industry. And for what? I am not a doctor, nurse, teacher or anything genuinely useful to the world. I legit spent a hour on Wednesday dicking about with a colourscheme for k9s. Honestly it feels like some sort of cosmic joke.

A colleague recently commented that I “seem really experienced and knowledgable”. I responded that seem is the key word here: my one true skill is speaking as though I know what I am talking about. I honestly believe this and I don’t think I will ever feel like I am truly as good as I am meant to be.

I have not commented whether I was earning too much or too little in any of those roles, although there are some that I sort of squint at and go “huh” at.

Anyway, thanks for coming with me on this journey down memory lane. I hope it is useful to someone. At some point I will be writing up a sort of career/skills progression guide, so stay tuned.

PS: I have decided that I don’t care what anyone else thinks about my worth.

PPS: Except maybe my manager.