Codakuma

Finding a new job as a software engineer in 2023

20 Nov 2023

Earlier this year I took voluntary redundancy at the startup I was working at. It felt like a great opportunity to spend the summer growing my workout insights app Personal Best (which has gone really well), then find another role later in the year. I’ve recently accepted a new job, so based on my experiences here’s my advice to candidates and employers.

Before I jump in, I appreciate that being able to take a few months off work to focus on a side project then leisurely find a new role is a very privileged position to be in. We shouldn’t take this for granted in our profession.

The number of interviews is out of control

Interviews are a good thing. They’re a way for the company to find out if you’re suitable for a role, and they’re equally valuable for you to scope out the company and figure out if it’s a good fit for you. However, I think that our industry has gone a bit too far with them and needs to pull back a little.

It feels like in recent years the number of interviews companies insist on has slowly crept up, so now you’re likely to have about five with a company before getting to offer stage. My record this time around for number of interviews with one company was nine. Sure, they weren’t all explicitly labelled as interviews, many of them were ‘chats’ or ‘catch ups’, but I would argue that they’re still a form of being interviewed.

When you’re talking to one or two companies the interview load can be manageable, but when it’s more than that it quickly turns into a full-time job. In my case I have the time for that, but if you already have a job (or other commitments), it might be a struggle. As an introvert I find interviews exhausting, as I have to be ‘on’ for the entire time, and I wish I hadn’t done so many this time around.

My advice to candidates: Filter out unsuitable companies early to avoid doing too many interviews. If a company wants you in the office 4 days a week and that’s not what you want, don’t keep them around as a backup option, just end things. I made this mistake repeatedly and wish I hadn’t. You’re better off focusing on 2-4 companies that are a good fit and spending your energy on those.

My advice to companies: Just as technical debt builds up in your codebases, organisational debt builds up. Consider how to ‘refactor’ your interviews to get the same amount of signal with less time investment.

Be selective with technical tests

A lot of companies asked me to complete a ‘take-home’ technical test before proceeding with interviews. I did it for the first few companies that asked, but then I started pushing back when I realised they’re not a good use of my time.

I will always make time for a pairing-style interview where we work on a problem together to see how I communicate and reason through a problem, but too many take-home tests are just a hoop to jump through. Most of the ones I was sent were testing very basic React skills. It felt like I was being asked to spend hours proving that I had the skills that my CV said I had.

At a more junior level there’s some logic to this – maybe somebody fresh out of uni doesn’t yet have the professional skills you’re looking for, but when it’s somebody with over 10 years of experience it feels silly. I’d have to be an incredible con artist to have worked as a React developer for this long without having basic React skills.

Eventually I got to the point where I stopped doing take-home tests, with one exception when the company proactively offered to compensate me for my time.

I’ve been very involved in hiring everywhere I’ve worked, and we phased out take-home tests a few years ago when we realised that they weren’t giving us much useful signal, weren’t respectful of the candidate’s time, and weren’t inclusive to people with commitments outside of work (e.g. parents or carers).

My advice to candidates: Don’t spend time on technical tests that aren’t worth the time investment. Ask if they compensate for it. The worst they can say is no.

My advice to companies: Consider what signal you’re trying to get from a take-home test and see if there’s another way to get that signal. If you insist on a take-home test, pay people to do it.

‘Qualifying earnings’ pensions

Note: This section is very specific to the UK.

Quite a few companies I spoke to this time around were offering pension contributions based on qualifying earnings. I was stung by this at my last job so I knew to ask about it this time. If you’re unfamiliar, a qualifying earnings pension means that the company will only make contributions on a portion of your salary, not the whole thing. This portion is set by the government and is £44,030 as of the 2023-2024 tax year. It’s the bare minimum allowed under UK law.

For example, let’s say your salary is £80,000 and the company offers a pension where they contribute 4%. Under a normal pension, they would be contributing £3,200 (0.04 × £80000). Under a qualifying earnings pension, the employer contributes £1,761.20 (0.04 × £44,030). Therefore, you’re not getting a 4% pension contribution, you’re getting 2.2% ([1761.2 / 80000] × 100). The higher your salary gets, the smaller this percentage will become.

In my view, this is a misuse of qualifying earnings. Companies offering the bare minimum legal pension accompanied by a high salary is clearly not what qualifying earnings was intended for. According to gov.uk, the upper limit is targeted at low to moderate earners:

‘It aims to distinguish the automatic enrolment target group of low to moderate earners and the statutory minimum contributions from earners in a higher tax band. These higher earners might reasonably be expected to have access to a pension scheme that offers more than the minimum and are more likely to make personal arrangements for additional saving.’

With one company I got all the way to offer stage before finding out they offered a qualifying earnings pension. It wasn’t mentioned at all in the written offer I received and I only found out because I asked them. Had I not asked, I wouldn’t have known until I was enrolled into the pension scheme after three months of working there.

My advice to candidates: If pension contributions are important to you, find out about the pension scheme early in the process to avoid wasting both your and the employer’s time if it’s not suitable for you.

My advice to companies: If you’re offering a qualifying earnings pension, be up front and own it. It’s better to weed out a candidate early for whom this is a dealbreaker than get to a latter stage and face a rejection.

Be wary of agency recruiters

I’m sure that there are some spectacular recruiters at agencies. If you’re a recruiter who’s taken the time to read this entire post you’re probably one of the good ones. Unfortunately, most aren’t.

This time around I worked with a few agency recruiters and I didn’t find any of them worth the hassle, and I would be wary about doing so again in the future. I was routinely ghosted for weeks at a time, given the wrong time for interviews so I was either really early or really late, and bombarded with phone calls that could have been a one-line email.

A particularly frustrating thing that kept happening was recruiters messaging me on Linkedin to ask if I’m interested in a specific role. I say yes and ask to be put forward for it, then they ask for a phone call. The phone call then turns into them asking about my profile and what I’m looking for, and next thing I knew I’ve stumbled into having an ongoing relationship with them where they keep calling me about more roles, when all I wanted was to be put forward for the original role.

My advice to candidates: As much as possible, stick to dealing with internal recruiters who work for companies directly. In my experience, working with them is brilliant with none of the downsides of agency recruiters.

In summary

I learned a lot from my recent experiences that I’ll be taking into my next role to try and improve things for future candidates. If you’re an employer, consider ‘dogfooding’ your hiring process to see how it is for a candidate these days. If you’re a candidate, be mindful about how you spend your time.

Also, consider downloading Personal Best so that my next break between roles can be even longer 😉