The Tech Hiring Process
The tech hiring market is slow at the moment. Companies have significantly reduced their workforces and are holding off filling positions until the economic outlook improves. This situation is especially tough for graduates and juniors. Still, even people with years of experience find landing a role much more challenging than it was a couple of years ago.
I’ve been talking to friends a lot about this recently, so I thought I’d consolidate my experience into a post in the hope that it’s helpful to anyone looking for a tech job.
Introduction
A couple of years back, I decided to leave management and return to an IC role. For the first time in eight years, I had to deal with the hiring process from a candidate perspective, and as someone who has spent a lot of time on the other side of the table, I was curious how other hiring managers approached this.
I decided to set up as many interviews as possible and let the chips fall where they may. My preference was for a startup role, but I applied to everything from one-person pre-seeds to big tech.
The first thing I did was create a spreadsheet to document the process. Those years in management didn’t go to waste.
Keeping a record gives you a few things. For one, it allows you to quickly see all the information without digging through your inbox to try to remember something that happened a couple of years ago. It also shows you where to invest your efforts. If certain companies, platforms, or recruiters aren’t even getting you a screening call, focus on other places.
Searching
The first thing you have to do is find places to apply. In this post, I’m not going to cover referrals from friends or people in your network who reach out, as those things tend to take care of themselves.
Going Direct
Going direct can be a great option if you know who you want to work for. Most companies have a careers page; if you’re lucky, you can subscribe to an RSS feed of their listings. They’re only sometimes the most up-to-date positions, but it never hurts to have your CV on record if it’s a place you want to work for. Some VC firms also have job listings for their portfolio companies on their website. Those are also worth a look if you want to work for a startup.
Job Websites
Job websites are the most hit-and-miss approach on this list. I had the most luck with LinkedIn Jobs. I also had quite a bit of success using specialised job boards such as Climatebase. These are great places if you have a specific industry in mind.
On the other hand, more generalised job sites tend to have a poor success rate. Using these will sometimes feel like shouting into the void, as you will get no response to many of your submissions.
Recruiters
Recruiters have a bad rep in our industry, but don’t let that put you off. A good tech recruiter is worth their weight in gold. From a candidate’s perspective, they will understand what you’re looking for, only push you to opportunities that will work out, and negotiate on your behalf. The negotiating part is essential as we’re terrible at it as engineers. They also constantly talk with companies and look for potential openings before they’re made public. Building a network of trusted recruiters is critical to navigating a career path in tech.
I’m going to take this opportunity to shout out two firms in Australia, Lookahead and Onset. I’ve landed engineering roles with both and the experience has been efficient, professional and highly communicative. I’ve also built a frontend team with Lookahead’s help so I’ve seen them work from both sides.
Applying
Now that you’ve found a job that looks interesting, it’s time to apply.
Your CV
There is much better advice about writing CVs elsewhere, so I’ll keep this section short.
Your CV should be tailored to the company you’re applying to. My tactic is to keep one extensive master document and then make a copy and edit it to make it relevant, highlighting relevent industries or problems that I’ve worked on that fit the role.
Aside from that, just remember the basics:
- Always run it through a spelling and grammar checker.
- Get friends or colleagues to review it.
- Keep it short and concise. No more than 2-4 pages depending on experience. No hiring manager wants to read War & Peace.
The more senior you become, the more you should outline your impact and outcomes over tools.
Eg.
- Junior: I am experienced in React and NodeJS.
- Mid: I refactored our React code, simplifying our codebase and improving developer productivity.
- Senior: I introduced continuous deployment to the frontend, improving our DORA metrics and customer happiness.
With more companies using AI to create shortlists of CVs, the art of writing yours has changed. You need enough keywords to pass the bot checks, but you should not use AI to write it. If you get shortlisted and your CV lands in a human inbox, you don’t want it to read like SEO text.
Interviewing
Interviewing styles can be distilled into two categories: Big tech and startup. Big tech is where a company has based their process on FAANG interview styles. This doesn’t mean that the company using these is particularly big. Plenty of smaller companies use this style, too. The startup style is a looser, more conversational process.
Big Tech
These interviews start with an HR screening call. This call is straightforward and includes questions about motivations, cultural fit, career goals, and more.
The next stage is a technical test modelled on the FAANG tests. Many tests have data structures and algorithm components based on leetcode problems or a system design component. These generally have to be completed live before a hiring panel of engineers. I won’t go into this as it’s documented in great detail elsewhere. Search YouTube for “coding interviews” for many examples and prep help.
If you make it through this stage, then there will be several follow-up interviews (it varies from company to company) where you will have to drill down on various technical and non-technical things.
Startup
The startup style usually starts with a screening call with a founder or an engineering lead.
The next stage is also a technical test, but these can vary wildly from a one-hour FizzBuzz-style take home to a paid day in the office writing something more meaningful and everything in between. Unlike the big tech technical tests, these are hard to prep for, but they also give you plenty of time at home to complete them. The best companies will provide you with something small and concise that you can solve in a couple of hours; usually, it is a problem the team you will be joining is currently trying to solve. These tests are more practical and less theoretical.
There is typically a follow-up interview based on this test where you have to walk through your solution and justify your decisions in front of engineers currently trying to solve a similar problem. Sometimes, you may have to write extra code during this interview to extend or fix your solution.
After that, the process is identical to big tech. A couple of interviews drilling down on various things. If the company is small enough, this will often be with the founders who tend to approve every new hire.
Feedback
The most common type of feedback you will receive is silence. If you’re lucky, this will be after uploading a CV to a job listing. If you’re unlucky, this will be after four rounds, including founders and board members. That’s not a joke. I was ghosted by one startup after investing weeks into the process and travelling across the city multiple times to meet people. Don’t dwell on these, though. They’re usually a sign you were interviewing at the wrong place.
The next type of poor feedback is the one-liner, “We have decided to go with another candidate” or something similar. This is fine if you’ve just sent your CV off. It closes the loop, and for that, I’m grateful. But if you’ve invested time and effort into multiple interviews and technical tests, it’s not a great experience. Unfortunately, this is super common, especially in the startup world.
The best type of feedback is when someone calls or writes you an email and tells you why you weren’t successful. I have only had this a handful of times in my career, and it’s honestly game-changing. You leave the process feeling like you have learned something, even if it didn’t work out. You also leave the process thinking highly of the company that gave you that feedback.
Rejection
You will get rejected, especially if you’re early in your career or going for jobs with lots of applicants. Don’t take it personally. Interviewing is like a muscle. The more you work on it, the better you get. You get more confident and can tell your story better the more interviews you do. Even though interviews are draining and time-consuming, spend some time getting comfortable with the process. You’ll thank yourself later.
On the other hand, don’t be afraid to exit a process if things aren’t working out. Exiting a process for no reason other than bad vibes is entirely legitimate. Trust your gut. If things are going badly during the hiring process, they’re not going to improve once you join the company.
Conclusion
As tech workers, we have a lot of freedom in our work as our skills are so transferrable. Moving jobs is an opportunity to work in a new industry, build a product you care about or do something that aligns with your values more closely. If you’re in the market for a new role, consider what is important to you and focus your energy there.
I hope this anecdotal, highly unscientific post is of help to someone.