Navigating the Tech Job Market: Engineer's Insights from Landing a Job in 2024

Navigating the Tech Job Market: Engineer's Insights from Landing a Job in 2024

·

21 min read

The tech industry in the last two years has been tough, with more layoffs than we've seen in decades. Large companies, often as a result of excessive hiring sprees in the prior years, were executing cost-cutting initiatives, closing entire departments. Small companies, facing much harder funding conditions due to rising interest rates, often change course, trying to maintain liquidity and wait for better times.

Like many others, I was directly impacted by this situation - I found myself without a job, facing the challenge head-on. This situation pushed me into the job market again, looking for new opportunities. Throughout the journey, I've had some interesting observations and thoughts that I plan to share with you in this article. ✍

What this article is not about

Before we jump to that, I want to outline a bit more what this article is about. I'll do it slightly differently, by first inverting the question - I'll start with what this article is not about.

This is not a definitive guide to landing a job. There are plenty of articles covering that topic broadly and a plethora of write-ups diving deep into various aspects of interviewing, both technical and non-technical. I'll be linking to some of the resources I used at the end of the article. What you need to successfully go through an interview process varies a lot based on the role you're applying for, the size and maturity of the company, as well as your experience and skills.

This isn't a recipe for dealing with being laid off either. Even though this event was unexpected and stressful, fortunately, it was manageable. I can only imagine how hard it might be for other people, with a different background, sets of circumstances, or overall life situation.

To give you a complete picture, I'll be sharing some basic stats like the number of positions I applied for or the number of offers I received. This isn't a way for me to brag - instead, I want to give you an honest picture of what was needed to increase my chances of success.

Ok, so what this article is about?

What this article is about

It is merely a recap of what occupied my time in the last months, alongside some thoughts and observations of the entire process. It is a list of those things that have worked in my favor and those that have worked against me. Even though this is specific to my situation and professional experience, I suspect that some elements might prove to be generally applicable and you'll find some useful insights - whether you're currently looking for new opportunities or not. 🙌

Timeline and numbers

To give you a broad picture, I'll start with the timeline and some numbers, which should illustrate the interview processes I took part in.

  • The sad news. I got the sad news in the second week of September. We all knew the situation in the industry, but it nevertheless came as a surprise. I gave myself a couple of days to rest and then got to work.

  • Research and interview preparation. I listed about 60 companies that roughly fit my criteria of places I would want to join. Some of these companies had open positions that matched my experience and skill set, and some only had their talent pools open. I prioritized the list, selecting half a dozen of the positions that I had the most interest in, and decided to apply for first. As the weeks went by, I went down the list and ultimately applied for a total of 30 positions.

  • Reaching out to the network. Outside of cold applications, seeing how responsive companies are in general (or rather unresponsive, more on that later), I decided to tap into my network to increase my luck surface area. Apart from publishing a typical update on LinkedIn and Twitter, a few weeks into the process I decided to send out a message directly to every recruiter who had messaged me within the two years prior. I always reply to recruiters on LinkedIn, kindly declining new offers, so sending this kind of message wasn't completely out of the blue. I was already in contact with them, technically. I felt justified. Altogether, I sent out messages to 500+ recruiters and got responses from about 100 of them - I found 10 open positions that looked interesting to me, but I dropped out of most of these processes after the initial call with the recruiter. Even though most of that didn't have any material results, it contributed a lot to my sense of security. At the end of the day, I saw there were still plenty of opportunities out there.

  • Interviews. I ultimately participated in 5 interview processes start to finish. I had the first interview at the very end of September, and the last one in the second week of November - a total of 34 meetings (some were just short calls, some a couple-hour-long interview sessions). Most of these processes had 3-4 steps, some included an extensive async coding exercise, and most had technical interviews with live coding and experience and background interviews.

  • Offers and decision: These 5 interview processes resulted in 4 offers I could choose from. I would be fairly happy signing any of them, which had made the decision-making process quite comfortable. I made the final decision in the middle of November, making the entire job hunt last about 2 months.

All of that translated to the following numbers.

  • number of recruiters that I spoke to: 500+

  • number of applications filed: 40

  • number of companies that rejected my application: 16

  • number of companies I haven't heard back from: 14

  • number of processes I dropped out of: 5

  • number of processes I participated in: 5

  • number of offers received: 4

  • duration of the entire interviewing process: ~2 months

Looking back, it was a lot within a fairly compressed timeframe. That said, the number of processes I took part in was about right - not enough to wear me down too much, but enough to give me great options to choose from. 🤝

Thoughts on the market

I'll start with general market considerations. The tech market has changed. We all know it. We hear about it left, right, and center. Whether or not this change is persistent, only the future will tell.

Could I feel this during the interview process? Definitely. It's no longer truly an employees' market, as it mostly has been for the last decade or so. We have to take into account, however, that we're stepping down from a really high horse. As I mentioned in the beginning, the massive rounds of layoffs and the corresponding change in the hiring market, are in substantial part related to the excessive hiring that took place in the last few years, or to the outpour of money flowing into higher-risk ventures. 💸

Most companies at some point in the interview process referred to the apparent change in the market. Often that's normal - some of the people I talked with were completely honest and transparent about how they simply don't have as many resources available or are constrained by the uncertainty of their profits going into the future. Some people however used the change in the market as a negotiating tactic to subtly nudge me into making a decision - as at this moment I should really consider accepting less, but in a safer place. Yes, that was fun. If you're interviewing, be prepared for that.

Ultimately, your interviewing experience will vary based on what you bring to the table, but there are plenty of good opportunities out there, and it seems to slowly be getting better and better with each month. 📈

Know what you're looking for

Even though it might seem that nowadays the market conditions overshadow any internal factors when interviewing, I believe what you control is still far more important than what's going on on the outside.

Speaking about things that are in one's control, you have to know what you're looking for. Picking the next company to join should never be a unidimensional choice. There are many factors at play. Here are some of the things I paid attention to, in no particular order.

  • Challenges you can help solve.

  • Level of ownership and impact of your role.

  • Company's mission and values.

  • Mix of process and flexibility.

  • Approach to software engineering (code quality, testing, best practices).

  • Learning opportunities and knowledge sharing.

  • Technologies used.

  • Team size and organization structure.

  • Clear career path and feedback culture.

  • Company's business model and financial stability.

  • Compensation (both cash and equity sharing).

Compensation is important, but so are what you'll be working on and who you'll be working with. No one factor inherently trumps the others. Figure out what's the right mix for you at this moment and let this be your north start not only at the very end of the process when you make the final decision, but at every step of the way. 🌃

Brutal honesty

The type of position one is looking for together with one's skill set and experience will define the breadth of opportunities available. It is important to be aware of that and be honest about it. It might sound obvious, but it's worth checking if our expectations can be reflected in reality.

In my case, there were a few overarching themes that have largely defined my opportunity set, as they were mostly non-negotiables.

  • I was looking for a Frontend Engineer position, working with React and TypeScript.

  • I wanted to work for a company that creates and maintains its own product - not a software house or consulting agency.

  • I was looking for a senior role or above, with a high degree of ownership, in a place with a culture of continuous learning.

  • I was looking for a remote-only position.

All of that combined inevitably meant that my target market was quite broad. React nowadays is the most frequently used frontend framework. There is a plethora of companies building their software systems in-house, and it appears to me that companies prefer hiring more experienced engineers, especially in recent years with the prevalence of remote work. Speaking about working remotely, looking for such positions exposed me to a global market, which is a major leap in quantity compared to the opportunity set available in my local market in Poland.

Even though I consider myself a valuable candidate, with substantial experience and depth of knowledge, there are many other fantastic engineers with similar skills. There's not much that makes me truly unique within the entire market, at least at face value. 🤷

To better illustrate what I mean, I'll bring up a family member of mine, who works as a Design Engineer. If you're like me, you'd ask what the heck does that mean. He works across design and engineering, solving user experience challenges across the entire stack. If your company has a deeply technical product, where you need engineering experience to figure out the best user experience, and then design it and implement it, he’s probably one of a few candidates available to you around the world. Now, that’s unique. His opportunity set is much more limited than mine, but once he finds a company with problems in his circle of competence - it's instantly a match.

All of that led me to another conclusion, that the wider your target area is, the larger role luck plays in the mix. As I mentioned before, I vastly overestimated the responsiveness of companies to my applications. In the first two weeks, I applied for only 10 positions and waited for their responses. As you might guess based on the number of positions I ultimately applied for, that was a mistake. Most companies have so many candidates knocking on their door, that the most you can expect is a generic confirmation, letting you know that they will contact you again only if they want to continue the process. Some companies will let you know that they declined your application, but a lot of them will outright ghost you. 👻

An advice that I got pretty early on was very simple - find and apply to more companies. Many more than you might initially assume. It turned out to be effective, especially when interviewing globally, which the next part is all about.

Global recruitment considerations

I was looking for a remote-only position, which opened me to a market beyond the companies in my local area or even my home country of Poland. It expanded the opportunities available massively, at the same time making the interviewing dynamic quite unique in subtle, but important ways.

I’m based in Poland. Many companies with a global presence won’t even consider me for all sorts of reasons. Sometimes it’s the timezone - for teams located on another continent, this could be an issue. Sometimes it's an internal policy - hiring outside of the company's home country is not straightforward, so they might prefer to hire locally and keep their existing HR process. Sometimes it's regulation - companies creating projects in certain industries or for government entities are often legally limited to only hiring within their home country. Finally, some companies are not even aware that hiring people as contractors is easier and cheaper for them than having full-time employees.

I said that there's not much that's unique in my experience on a global scale, but there's always something you can focus on that differentiates you from other candidates applying for a particular role. For me, in most cases, it was a combination of engineering and design background and deep front-end knowledge and experience. Figure out and clearly define what your edge is and structure your interviews around that. 🏗

Get used to rejection

Only 20% of recruiters responded to my messages, and 2% had open positions that seemed interesting to me. Only 25% of my applications resulted in interview processes and only 10% resulted in an offer being extended.

There's no other way around it - for most applications and interview processes the default response is rejection. You just have to make the math work in your favor - for me, it meant that to have an offer on the table, I had to apply for roughly 10 positions. And I think it's critical to have a few offers to choose from, so the best thing you can give yourself during that process is patience. 🧘‍♂️

The bar is sometimes surprisingly low

Once I was over the initial hurdle, things started falling into place. Given how tough it is sometimes to get your foot in the door, it's almost surprising, in contrast, what companies highlight as the factors that positively differentiate you from other candidates.

Some interviewers pointed to the fact that I wrote a thoughtful cover letter. Some interviewers pointed to the fact that they can clearly tell I've read the job description. Some interviewers pointed to the fact that I came prepared, and had familiarised myself with what the company does, its mission, and values before the interview.

None of this is too hard to do. It does require a bit of time but increases your chances of success. Don't skip these steps during your interview preparation. I always thought of them as obvious preconditions but turns out they can sometimes work as a differentiating factor. 🎯

Choosing your perspective

Another idea I had in mind when interviewing was the perspective one has on what they're trying to achieve. I believe there are two, distinct perspectives there.

The first perspective is that interviewing is a way to get a job. This implies that the company has a resource you want to secure. Resources are often scarce, hard to come by and obtain - the fact that something is scarce has a significant influence over humans' psychology. This perspective might not benefit you during the process.

The second perspective is that you want to provide a service for a company. This is the exact opposite perspective, as this implies you possess the resource the company is after. The scarcity principle becomes a tailwind, as you're there to provide value to whichever company ends up being the most interesting. This perspective will likely benefit you during the process.

Having that said, neither perspective alone reflects reality. Of course, you're after the job, and the company is after your expertise. The level of scarcity will depend on how high the bar the company has to meet is, and on the other side, what you offer as an engineer and how broad is your competition. But I still strongly believe it's worth primarily adopting the perspective that works in your favour. 🌄

Negotiation starts the minute you enter the door (or perhaps even sooner)

Much has been written about negotiation, especially job negotiations and even job negotiations in the tech industry. I highly recommend reading these particular articles I linked to, they have been a fantastic guide through offer negotiations.

One surprising aspect of the interview process, however, was how fast some companies initiated the negotiations.

There are arguably very few aspects that can give you an edge in negotiations as the interviewee. It's the company that controls the structure of the interview, they control whether they are going to extend an offer to you and what it ends up looking like - in most cases - almost entirely. They are in the driver seat, but they don't control everything. Information is your negotiating power. You can decide what information to share with the company about your preferences and when. I tend to retain as much of it as possible mostly because it gives me time to get more information about each company I'm interviewing at. ⏰

I don't typically share my desired compensation during the initial stages of the interview process. I don't think that makes sense - I know little about the company and the position. I don't know whether I'm the right fit for the company or how much I would want to work there. I also don't know what the company values and how they structure their compensation. And on the other hand, the company has no way of knowing how valuable of a candidate I am. Throwing numbers around at this point seems pointless to me.

To that, some might say - it's a waste of time, it's best to get alignment on compensation as soon as possible. Perhaps. You have to be aware though that once you share any numbers, you immediately narrow the negotiation space, likely to your disadvantage. The company would never share the actual compensation targets, especially during the first steps, and I believe neither need you. 🤷‍♂️

You should be able to get an idea of what the compensation for any particular position might be online. This won't be precise information, of course, but in most cases, it is good enough - the actual compensation the company can offer is always a range, likely changing throughout the process. You only need to have some directionally correct information.

I got asked the infamous "So, tell me, Tomasz, what are your salary expectations" multiple times. Often right after the first interview with the recruiter. The reality is that this is a normal practice. To that I often respond, competely honestly, that the opportunity sounds exciting, and once both parties determine that this is the right fit, I will be willing to explore any package, as long as it's competitive. Some recruiters will push beyond that, but it's infrequent.

However, during this series of interviews, I received hard pushback on this. In one process the recruiter insisted that I had to give a number, so we could move forward after the initial call. In response, I referred to general statistics, like the average total compensation of a senior software engineer in Europe, indicating at the same time, that I'm very much interested in moving forward. That wasn't enough - they said the company wouldn't be able to meet that expectation (even though I was merely pointing to statistics, not expressing my expectations) and asked how much I would be actually willing to accept.

It is straight-up attempt to make me commit to specific numbers and close negotiations before the process even started. It was especially striking to me, as this was a lead engineer role. I can understand that a company might have a good idea of what junior or regular engineers' compensation would be before any individual process, but for senior engineers and above the bands are typically wider and depend much more heavily on what the candidate brings to the table. This is impossible to estimate at the first step in the interview. I replied that I do agree that it's important that we're on "the same page", but I'm simply unable to provide precise numbers at this point, beyond what I already mentioned. The recruiter finally accepted my response and we moved on.

This situation would probably look different from my side, or I wouldn't be comfortable evgaging in negotiations in general, had I not had other processes lined up. But I had other options. This was extremely important during negotiations, mostly for my own psychological safety. Also, you might be surprised how widely the offers differ in their numbers. In base compensation alone, the distance between the lowest and the highest offer I received was nearly 2 times. The stronger your other options are, the more you can afford to risk in any one process. You're likely not the only candidate the company is interviewing, so the company shouldn't be the only one at which you're interviewing either. That's an easy way to force yourself into a terrible negotiating position.

Finally, it's worth remembering that even though negotiating might make it seem as if you and the company are at odds with each other, you ultimately have the same goal - to reach an agreement that benefits both parties. You want to find the best place for yourself to thrive and the company seeks quality service from the best engineer they can find. I found this thought helpful when moving through the negotiations.

Relationship with your recruiter is paramount

Last but not least, I wanted to touch upon the relationship with probably the most important person in the interview process. That person, I believe, is your recruiter.

Picture your recruiter as your backstage pass to any one opportunity - a person who not only opens doors but also has your back when it comes to sealing the deal. This is a person who will be the proxy to you getting all of the information and any offer negotiation you might have most often will be handled with them. As much as they want you in their corner, you want them in yours. Ultimately, this collaboration will directly impact how well you know what you're about to step into and the degree to which your efforts will be rewarded.

This series of interview processes was a stark example of how important this particular relationship is. In three out of the four successful processes, I had close contact with the recruiters. We've had a few video calls throughout the journey. I kept them updated on what was going on on my side and they periodically checked in to see how everything was going and how I felt. Contrary to that, during the last process, my interactions with recruiters were limited to emails only. Additionally, one recruiter was handling the first part of the process, and another one the second part. There was no time or space to build any form of relationship. 🍂

The outcome speaks for itself. When the relationship with the recruiter was good - which was the case in the first three processes - I got all of the information I asked for and then some. The recruiters often went the extra mile to provide me with additional details, reaching out to other teams in the company to get some more context for me. I was also able to improve each of these offers - often meaningfully and virtually without any tension. In the last interview process, I almost literally hit a wall - I received pretty vague strands of information throughout the process, and my attempt to negotiate was turned down in a single email, in a fairly impolite way.

Looking back at the situation I can share a few simple suggestions I found to be helpful to get you on the right path with your recruiter. 🛤️

  • Show them that you mean business. They should be able to tell that you are serious about the opportunity and ready to engage in negotiations.

  • Express enthusiasm. Show that you're excited about the opportunity, while moving towards reaching the final decision.

  • Be cooperative. If you want a good spouse, deserve one. This rule applies in any relationship, not only in marriage. You want to be as collaborative and helpful to your recruiter as possible - they will most likely return the favor.

  • Be likable. No one wants to advocate for someone they don't like, so simply be kind. Positivity and simple kindness towards others are seldom overrated.

I'll mention for the record, that all of the above should come from a place of genuine interest and honesty. If you're not interested in joining a particular company, don't waste anyone's time - drop out of the process early and look for something that is a better fit.

Making sure your relationship with the recruiter is good is extremely important. It might seem like it's just wasting time on meetings, but it's absolutely not - and it goes both ways. There's as much in it for them as there is for you. 🤝

The outcome

This was a long journey, which required a lot of preparation, attention, and effort. I can say now, however, already a couple of months into my new position, that it all ended exceptionally well. I'm super happy to report that I joined Salesloft as a Senior User Interface Engineer. I'm excited about the challenges that lie ahead and to be a part of a terrific team. 🥳

All of this would have been much more difficult, if not impossible, if it wasn't for the support I received. I'm especially thankful to my wife, for being there for me during the whole process. And to my engineering friends, for their help and multiple pieces of often invaluable advice. Thank you!

If you liked the article or you have a question, feel free to reach out to me on Twitter‚ or add a comment below!

Further reading and resources

Here are some of the resources I found useful during the entire process.

Other resources: