I don't think I want my next promotion (yet)
This post's featured URL for sharing metadata is https://www.jvt.me/img/profile.jpg.
With the news that Deliveroo are making 9% of the company redundant, of which all Senior Software Engineers are "at risk" of redundancies, I've been considering where I am and where I want to be going in my career regardless of whether I'm made redundant.
I'll be finding out in the next few minutes(!!!!) as to whether my role is going to be made redundant (update: I am not being made redundant), but that doesn't mean that I necessarily need to wait until then to decide a few things. I'm using this post as a way to get my ADHD brain in check and work through the thoughts I've got, putting proverbial pen to paper to talk through it, and collating thoughts that I've been having over the last 6 months or so.
Off the back of the performance review cycle earlier this year, I'd been discussing with my manager my stretching up to Staff Engineer, and the gaps I had to work on that would give me the capabilities to be able to get there.
Those of you who will have worked with me in the past will know that I'm someone who likes getting involved in things that affect multiple teams and largely have the ability to improve the way that as an organisation we deliver results, whether this is based on developer productivity, better internal library usage, new ways to understand how our dependencies are used, or even my love for blogging and sharing knowledge.
These qualities work quite nicely with the Senior and Staff roles, where the impact I'm having is outside of just the team I'm in.
However, one thing that stuck with me is that Staff Engineers, at least at Deliveroo, are expected to be a domain expert.
(Just a note here that expectations of engineers are different across different companies and industries, so this is based on my experience and understanding from here and previous companies)
I'm working in the Care team, which, as well as working on self-service functionality or agent support for order issues, also includes services for live chat and call between riders and customers.
Care works with some interesting technologies and problems. I work with some great engineers and can learn some really great skills from them. Prior to the news of redundancies, I was enjoying the culture and the people.
Becoming a domain expert in Care would require understanding the way that compensation works across the business, how policies are defined and enforced for claims by customers, as well as a deep understanding of the production services themselves.
However, thinking long-term, I'm not sure if Care is the domain that I want to specialise in. To be very clear I'm not saying I want to leave Care because I dislike it or the people or find it unfulfilling, just that I don't think this is a domain I want to invest a depth of understanding to.
At the Christmas party I was discussing the move to Staff with a few of the Staff engineers in Care, and we talked about the fact that Staff requires domain expertise, which takes time to build up, and got me thinking about whether I should be looking to do an internal move to another area of the business, where I could look to specialise better in.
One thing that had drawn me to my role in CDDO working on cross-government API tooling and standards was that I'd be able to improve the way that others develop.
When I left Capital One, one of my friends called me a "10x developer". They didn't mean this in terms of the "rockstar" developer or the asshole stereotype, and I've reinterpreted it more as the fact that I'm a multiplying factor to a team, rather than potentially being able to individually produce more work than others. This multiplying factor is something that's mentioned for Senior/Staff+ roles, where it's more about being able to impact through others, and over the years I've found a huge amount of satisfaction in being able to improve others' workflows, be that through teaching
git commands, getting some Vim proficiency or scripts like
unpack to decode JSON, JWTs, base64-encoded strings, etc.
Over this last year, some of the big pieces of work I've found to be most rewarding have been developer productivity - setting up Renovate, investigating the way we use dependencies, and work to make it easier to ship services using OpenAPI in Go and Rails, as well as work on internal Go service templates and internal libraries.
I think that moving into something more Developer Tools focussed is for me, rather than a more product-aligned part of the business.
But again, I may find that after doing solely developer productivity work for a year, it's also not for me, but that would help me work out what's next. I've always been ambitious and competitive, so looking for the next "achievement unlocked" in my career has always been something I've done, alongside colleagues and friends at similar levels. (I do wonder if some of this is also related to my ADHD and chasing the dopamine)
One of my friends who joined Deliveroo not long after I had mentioned that they were thinking they'd stay at Senior for a bit and just ✨ vibe ✨ and enjoy the role, to which I agreed that sounded pretty good and I'd probably do the same. But did I do the same? No, I started trying to get to Staff 😅
Being a Senior Engineer gives me a good level of scope for strategic thinking as well as hands on coding, and I think that's probably best for me, at least for now. I think I'm going to be focussing on strengthening my skills as a Senior while I find the right domain to specialise into, then I'll start looking at progression again.