I originally intended on writing this at the end of 2022, but it is probably wise that I’ve left it until now – I’m much more content as a software engineer in 2023, than I was back then.
In fact, I nearly even walked out of my job.
Originally, I was supposed to be part of the migration project, but I agreed to stay on in my current team, as tech lead, and also I was handed a new cool project to work on, that was using the new tech stack – I was happy.
A few months later, the the new cool project was culled. Cue my envy as I watched all my colleagues upskill with the help of some top-notch contractors, whilst I continued doing the same old vanilla JS stuff. I did try to sneak some time to do some online courses to upskill, plus I had a couple of personal projects I worked on at the weekend, so I was comfortable by mid-2022 with React, if not especially yet with TypeScript.
When the project was culled, I immediately started looking for new roles (I came very close to just handing my notice in and disappearing to Europe for a few months) – and received 20+ messages a day – this was before ChatGPT and before the tech lay-offs had really started affecting London, so the demand was massive.
Yet I ran into a problem – I couldn’t get a good role, because I didn’t have enough React/TypeScript experience. No shit. Eventually I gave up looking – I wasn’t willing to move without a pay rise (M&S are a good company to work for), nor was I willing to move to a hybrid role, or work on anything but a modern tech stack.
The main point is, and you’ll understand if you work in software engineering, technology – and probably some other disciplines, that we are in an arms race, or at least I feel that I am. I love solving problems by writing code, I so much enjoy figuring things out – but so do other people, and some are way more talented than I, and I feel this arms race of trying to catch up, which I have a bit, but then those ahead of me keep progressing further.
Then ChatGPT comes along and can now do things for me. And there I was in 2022 doing the same shit over and over with minimal challenge. Hence my frustration.
I started 2023 with determination to leave M&S for a role that would immediately match my technological desires. I was much more confident with React and TypeScript, and thought I was good enough for a senior role elsewhere…with a pay rise.
Alas, I didn’t realise how much the market had quietened. I did come quite close – failing on a systems design interview, which is an area that I’ve just not had exposure to. I also flopped in a couple of interviews – you know when there are a couple of questions you cannot remember, and then you conclude that it is a disaster? That kind of thing.
And then I was asked to go help with the migration – woohoo! Suddenly I was re-invigorated as an engineer. I wasn’t the expert – I was learning again, and it was fun. Goodbye LinkedIn. Goodbye recruiters lying to me. Welcome back job satisfaction, my friend.
A month or so later, I was back in my old team, but we’d reformed with a new mission, I have more engineers and now data scientists, and I remain the tech lead which is pretty cool.
2022 wasn’t totally a waste either – I was on the official mentoring scheme for graduates which was ace, plus I designed a training programme for those new to React – so I developed in other areas…I just love writing code the most, and was pained at not developing enough there.
Now, enough of the M&S website has migrated that we are working fully on React and TypeScript. Phew. Don’t get me started on monorepos though.
I’ve moaned too much here, as really what I want to focus on is the future. Which is why I was frustrated as I could see a future that I just couldn’t grasp at that point…and yes, impatient here. I know, but I’ve got things to achieve.
Yet, as always, as a generative human intelligence, I need to keep growing.
In the distance, I guess I have to aim for staff engineer level – I feel like I’m further away than management suggest I am, which I should take as a compliment. I didn’t believe I was ready to be a senior engineer two years ago, but my manager at the time did. He was right.
My immediate task is to buy and read The Staff Engineer’s Path, by Tanya Reilly. My understanding of being a staff engineer is that you transform from being a really productive engineer, to someone that enables other engineers to be really productive. I suspect…I know I am somewhat on those lines, though still more team-focused as an enabler.
Personally, I don’t think you can really be a staff engineer, without having a good understanding of the whole system. The downside of my team, is that it is very component/experience focused – we consume pipelines, we consume a platform, we consume Dev Ops, we consume architecture – so I naturally have limited exposure in those areas.
I have implemented Github Actions on this blog (overkill but who cares), am initiating DORA metrics for our team, and I’ll find more ways, somehow, to be involved with the whole system.
I feel like “my path to staff engineer” is a whole other blog post, so maybe I should stop here.
As I said to one of the engineering managers the other week, I’m back. I’m enjoying my job again.