An Engineering Leader’s
Job Search Algorithm
URL: bit.ly/EngLeaderJobSearchAlgorithm
By Kevin Conroy
See also:
This outlines the algorithm I’ve used for my job searches. It’s not perfect. There’s no one right way to do this, and your mileage will vary. However, I’ve tried to capture the common elements and rules of thumb I’ve picked up over the years in the hopes that it will help someone else through what is all too often a very stressful process. I hope you, too, can overcome the imposter syndrome and anxiety you might have to get a job that you love and pays you what you are worth (or more)!
If you do nothing else from this guide, please:
function jobSearch(Candidate you) { // interviews // offers // winning |
In 2023, we saw a series of layoffs and hiring freezes, followed by a slow but steady recovery in hiring. There’s been a new wave of layoffs in 2024 in big tech which has slowed, but not stopped. When you zoom out, the market appears to be making a recovery, but there’s still a larger supply of candidates looking for new roles than open tech jobs.
Source: layoffs.fyi
I’ve heard from hiring managers that when they post a junior level engineering job, they are getting 1,000+ applications for the role in the first two weeks. It’s not realistic for a hiring manager or recruiter to review every application closely, so they have to apply various filters as a first pass. Know that getting through these filters is part resume-writing skill, but mostly luck of the draw.
I’ve heard from many job seekers that it’s taking 3 to 6 months (or more) for many qualified individuals to find a new role. Before the layoffs, many of these individuals would be able to land a new role in less than a month. Know that this is a reflection of the supply-demand imbalance in the market, not of you.
Given the reports from hiring managers and candidates, I suggest that you follow the steps in this guide to make yourself stand apart from the rest of the applicant pool. You may be able to shorten your search time and/or land a higher total compensation.
Before starting my job search, I wrote down my five- to ten-year goals. I then worked backward and set a 3-year goal to support that, then what I’d need to do in the next four quarters to do that. Yes, this literally was a personal set of KPIs and OKRs with a Five/Ten Year Vision. It included both personal and professional goals for myself and my family.
When paired with my core values, this helped me figure out what I wanted in the next steps of my career. Not just in terms of comp and impact, but in terms of nextJob, nextJob+1, and nextJob+2. Framed this way, your goal may not be just to find a new job, but rather to take the first step in a series of intentional steps toward a bigger goal. (Finding your next role to escape a toxic environment and/or just paying the bills is totally acceptable, too!)
If you’re struggling to figure out your goals on your own, consider talking with a mentor or coach. They can help you immensely in figuring out what your goals are.
Read more: Michael Girdley on Twitter: "Early in my career, I didn't make long-term plans. I regret that. I worked hard and was busy. But I didn't seem to get any closer to the big things I wanted to do. Fast forward... This is the simple system I use now to set big goals -- and stay on track for years. (1/x)"
I’ve found that it’s very helpful to start any job search by understanding what the current market compensation levels are for different roles and levels and to get a sense of what companies are paying today. This data helped me to know what tier I wanted to target and when pay bands were well below market and not worth the effort.
In a remote-friendly, post-COVID work world, three tiers of tech pay have emerged. Gergely Orosz calls this the Trimodal Nature of Software Engineering, and although his article focuses on the EU, it is repeated across the US and the world.
During recessionary and high-layoff periods (2023-2024), the folks laid off from Tier 1 tech companies will take a role at a Tier 2 company, driving Tier 2 candidates down to Tier 3, and making it very hard for recent grads and limited-experience workers to find a role. This is now the third big recessionary period for Silicon Valley, and every single time the market comes back stronger than before. If you’re struggling to find a job at your target tier, know that it’s likely just current market dynamics.
For the US market: check out https://www.levels.fyi/. If you are a member of their community, you’ll also be able to access the live leaderboard. Remember: filter offers within a target company to “New Offers Only” otherwise you’ll see internal promotions, which refreshers and stock appreciation can impact. “New Offers Only” gives a much more realistic view of what you can expect coming in. (If you already work at the target company, look at existing comp to see what to aim for with a promo or raise!)
For the EU market: check out https://techpays.com/
Other:
Of course, money should not be the only motivator for you in a job search. Work-life balance, benefits, purpose, impact, technology stack, and many other factors can also be important. Resources like Glassdoor and Blind can be somewhat helpful for doing research here as long as you remember that often the happiest employees aren’t posting.
Come up with a list of companies you want to focus on for your job search efforts. These could be companies that you found in your market data research. It could be a company doing something really cool that you’re interested in. It may be an organization that’s making a positive impact in the world. Perhaps you know someone who works there. As long as there’s something that you find interesting or personally compelling, add them to the list.
Make it a long list. You can edit it later. Grab a link to the job/career page so that you can easily search it again later for open positions.
Spend several days (or more) doing this if you can. This list benefits from time and a chance to explore a range of companies you might want to work at, even if they aren’t hiring for your target role right now.
Pro tip: Keep this list going after you have your new role. I call this my “In Case of Emergency Job Search List.” As you come across cool products, teams, and companies, just drop a link in the doc or spreadsheet, perhaps with a note about why you were interested.
You may also want to have an “anti-target” list. This may be a specific set of companies you don’t want to work at, or (more likely) it’s a set of attributes or industries that you won’t consider. For example, I was not personally interested in anything related to crypto or defense. There’s no universal right or wrong answer here other than to know what your personal preferences are for what will make you unhappy. Writing them down will help you stay true to yourself.
Like it or not, your resume and cover letter are really just marketing devices that are meant to get you a phone screen. Once you realize that, you can leverage other marketing tactics to help you improve your odds.
In an ideal world, you’ll keep a long-form copy of your resume (outside of the US, folks call this a curriculum vitae or CV). This long version can take as many pages as you want. It should list EVERYTHING you’ve done and have lots of bullet points. Ideally, you’ll update this every six months to a year, and at a minimum update it right after your annual performance review with your accomplishments and feedback.
When you’re ready to job search, you can clone your CV and then edit it down into a resume. This is easier said than done. It took me a few weeks and working with a tech recruiter to get mine into a shape I was happy with. If you are in the Rands Leadership Slack community, check out the #vet-my-resume channel.
While you want a general “one size fits all” copy of your resume as a base, to really stand out, you’ll want to be able to quickly and easily produce customized copies of your resume for each job application. As such, you should favor the ability to edit content quickly in a WYSIWYG format. I recommend skipping one of the custom LaTeX or code-generating resumes and focusing on a decent Google Docs or Word template.
Resources
For each job on your resume, you’ll want one or more bullet points that outline what action you took, what you achieved, the impact it had, and perhaps the tech that was used. The generic format is:
Here are some examples of that format:
Far too often engineers focus on the technology that they use, the number of lines of code written, and other tactical details. Great resumes focus on the impact that the person had and highlight the business metrics that they helped move (e.g. added an additional $XXXK to revenue, acquired YYYY more users, reduced load time by ZZ%, increased conversion rates by +AA%, etc.)
You can find a lot of great resources here:
It’s worth getting feedback on your resume and considering hiring someone to help you:
Writer's block? Non-native speaker? You can also send your resume to ChatGPT with a prompt for it to make it “sound more professional” or “like a great resume.” Make sure that you review the output, though!
Rule of thumb: For a US-centric audience, your resume should be 1 page if you have less than 5 years of experience, and should be at most 2 pages if you have more than 10 years of experience. Even the most senior executives with 30 years of experience can get down to a 2-page resume, and you can too!
If helpful, here’s where my resume landed this last round. I made two versions - one that I used when targeting executive (CTO/VP) level roles and one for director and manager level positions. They each highlighted something different and allowed me to customize the content for each position. They are not perfect, and feedback is welcome.
Once you’ve written your resume, now it’s time to update your LinkedIn profile. You’ll find that many employers and recruiters default to LinkedIn, so it’s worth spending an afternoon or evening sprucing up your profile.
Make sure that you’ve added bullets to each job, have everything linked properly, and solicit a few recommendations from co-workers if you don’t have many on your profile already.
There are services that can help you do this if you want: LinkedIn Profile Services - Briefcase Coach
One thing that you can do is browse LinkedIn and look at the profiles that impress you among your peers. Take note of what they do that your profile doesn’t have and mimic accordingly.
Pro Tip: I found it helpful to pay for the Premium version of LinkedIn while job searching so that I could see who viewed my profile. This was helpful to know when hiring managers would view my LinkedIn as you won’t get a signal from their application tracking system (ATS) that they are looking at you.
Example: https://www.linkedin.com/in/kevinmconroy/
I hate writing cover letters almost as much as I hate reading poorly written cover letters. It’s hard to put together a great cover letter, particularly for a job you only learned about five minutes ago.
The good news is that most tech jobs don’t require a cover letter.
The bad news is that if you are doing a cold application without an employee referral, you should consider writing a cover letter.
Why? Most big employers have “reduced the friction” to apply to jobs, which means they are getting hundreds or thousands of candidates applying to work at their company. Unless it seems that the job description was custom-written to match your experience, you really need to do something to help your application stand out in a list of hundreds.
Put another way, your boring cover letter is my opportunity to stand out by making (a) a job search microsite and (b) getting an employee referral.
I think that there’s an opportunity to exceed expectations and reframe the idea of a cover letter into a new format for the digital age. Specifically: a job search microsite.
In the spirit of “show, don’t tell,” here’s an example: https://www.kevinmconroy.com/hello/
The purpose of this site is to break out of the confines of a resume and cover letter and get a full browser window to yourself to show off why you’re a great hire. It lets you control the format, images, links, presentation, and tone. It also can let you show off your UX and design skills (if that’s something you want to show off).
While I did a custom design for mine, you don’t have to do this. You can buy a template on your favorite CMS. The recruiter and hiring manager likely won’t know the difference between custom code and a template unless you’re using a default template from WordPress that’s easy to spot. (This is the same reason you don’t use a built-in resume template from Word - it’s too common and you won’t stand out.)
The key aspect of a microsite is NOT the design but rather the content. As such, I started my microsite in a Google Doc with headers and bullet points. I iterated on the content for a week until I had it down to the key messages and groups that I wanted to communicate. I pulled these from my resume and referred to several target job postings to see what kinds of skills and qualities the recruiter/hiring manager might be looking for. Content is key!
To be clear, a job search microsite is not standard practice, and most people (even those reading this guide) will not do this. However, that’s exactly why I spent two weeks putting this site together. It’s a marketing device that helped me stand out. I was able to add the link to my social media profiles and drop it in my email signature. It also was my “portfolio” site on job applications and on my resume. I know from verbal feedback that it resulted in two additional job interviews (and ultimately offers) and helped folks form a good impression of me before my interviews.
Pro Tip: If you’re a perfectionist, time box yourself to two weeks to create this site. Find a designer friend to help, or hire someone from Fiverr.
Key Elements for Job Search Microsite
Resumes, cover letters, LinkedIn, and microsites are all marketing materials. Even this document that you’re reading is a form of marketing material. (After all, I’ll bet that you clicked on a link to read either my resume, LinkedIn, and/or microsite.) Of course, the purpose of this document is not to market myself, but hopefully, you can see how even things like this doc could be used to build up one’s personal brand image. Personal blogs also serve this role. Be true to yourself and think outside of the usual boxes. Perhaps there’s something unique you can do other than a microsite that will make your application - and candidacy - rise to the top of the stack.
If you are already in big tech or a sought-after name-brand company, you may have success joining a talent network. These are private networks of job candidates who often have to apply to join. Companies then pay the network administrator for access to the talent, which means it’s free for you and there’s often a high bar. There are limited data points available on how successful this is, but in the interest of casting a wide net, the worst-case scenario is getting additional cold outreach that you can ignore.
Now that you have your resume, cover letter, LinkedIn, and optional microsite done, you’re ready to start applying in earnest. (Yes, job searching seems like a full-time job!)
There are hundreds of places you can search for jobs. Here are the ones that I’ve found to have high-quality results:
I’m also maintaining a list of job boards for 🌎 Finding Jobs in the Climate or Nonprofit Sector, which are areas I’ve devoted my career to. (Note: Financial compensation can be lower in these sectors, but the purpose-driven work is rejuvenating!)
If you specifically want to avoid leetcode/whiteboard-style interviews, then this resource may be helpful: https://github.com/poteto/hiring-without-whiteboards. It’s worth mentioning, though, that the specific content in your full loop will vary within a company based on the level of your role. There are plenty of companies where they might ask an IC to do a coding round but will not ask a Manager level (or higher) to do so. I’d recommend coming up with your list of target companies based on how excited you are for the company, product, and perhaps team first and not filtering based on their interview process initially. You can always remove companies from your consideration if they start sending up red flags to you during the process.
In addition to searching on the job boards, you can also source jobs from your network. As a fellow Rands Leadership Slack user noted:
“One thing I did at the start of my previous job search was to go through every single connection I have on LinkedIn and make a note of the company to see if they were interesting and had any openings. Definitely worthwhile, it's actually how I landed my current job.”
If the company has interesting positions listed, then use your connection to apply. If you think the company is interesting (or you’d love to work with the person), reach out to them and let them know that you’re job searching, and ask if they know of any positions coming soon. Many companies will have positions in the pipeline, and if you can get in before it’s shared publicly, you will have much less competition. The only way to get access to these “pre-published” jobs is through your network.
Since 2022, a large number of companies have had reductions in their headcount or a hiring freeze. You may want to track which companies have recently done this: https://layoffs.fyi/
As a reminder, almost every long-lasting company will have to conduct layoffs at some point, pause hiring, and then begin to grow again. Just because a company has had layoffs doesn’t mean you shouldn’t work there, but you should figure out what has changed since the layoff and why they are now ready to hire. Understanding the rationale will help you frame your application, answers, and questions to the team.
In my most recent search, I probably read more than 500 job listings, but only elected to apply to ~50 of them. This filtering was aided by only considering roles that aligned with the goals that I set out at the start.
If you found a job that you are excited about and have at least 50% of the qualifications for, you should apply! There are two ways to go about this.
The single best way to get to a phone screen is to apply using an employee referral. This is true in both big and small companies. Use LinkedIn to reach out to friends and old co-workers who are now at your target company. Ask for introductions to 2nd order connections. You can even approach people in Slack channels at your target company. Employees often get a referral bonus for new hires. If you have your microsite ready, you can send a link to your page and ask for a referral.
I found that more than 80% of the jobs that I applied to via an employee referral resulted in a phone screen. Your mileage may vary.
Your LinkedIn network is a tremendous asset for you to get an employee referral. You want to look for people who are one or two degrees away from you. The first-degree outreach is hopefully easy if you know the person, but the 2nd degree can be awkward. Here’s a template with a 90% success rate:
"hi <linkedin contact>, hope you're doing well! I saw you know <person X> at <company Y> - I was interested in <role> there, would you be up for doing an intro?" |
As one person notes, there’s also a great side effect: “I've also gotten a chance to reconnect with a lot of folks that I haven't talked to in a while with this, which has been really fun :)”
A cold application is when you just apply using the company’s job site or LinkedIn job ad. You’d think that this is the best way to apply, right? Alas, many companies get hundreds of applicants, so your odds of getting noticed via cold applications are lower. Again, cover letters and customized resumes will help you here.
If it’s a big company, consider customizing your resume to stuff it with keywords from the job description. It’s a stupid thing to have to do, but you have to get past automated application screening algorithms in order to get the phone interview. Again, employee referrals are a much better route to go.
Each company has its own process, but the common pattern seems to be:
In my experience, you’ll want to prepare to answer a few questions:
In addition, if you prepare for the standard behavioral interview questions, you’ll be ready for the other questions that are often asked at this stage.
In terms of ROI, you’ll get the most leverage in your prep by focusing on your behavioral interview prep. The behavioral interview rounds almost always outnumber the coding+design rounds in terms of quantity. In addition, the quality of your answers in the behavioral rounds will often determine not only what level you qualify for (e.g. Director or Senior Director), but also if you are the 1st, 2nd, 3rd choice candidate.
If you are applying for an engineering leadership position, I recommend using a modified version of the popular STAR format which I call STAR-F or F-STAR. The added F stands for the “Framework” that you use to solve the general situation. You’ll help uplevel yourself by showing that you have a framework that you can consistently apply based on your years of experience.
This topic is covered in ⭐ An Engineering Leader’s Behavioral Interview Template.
The typical advice on system design is very engineer and architect-focused. While there’s nothing wrong with that, I’m seeing a possible gap between the best-possible answer that a senior/staff engineer could provide and what an engineering manager could provide. My hypothesis is that a manager’s optimal answer will overlap with the senior/staff engineer's answer, but will also bring in business, product, and strategic vision to the discussion.
This topic is covered in 🧑💻 An Engineering Leader’s System Design Interview Template.
This is a divisive topic of discussion. Some people decide that they will not interview with any company that has a coding screen. (More power to you!)
If you do find that you need to prepare for a coding interview, this may be helpful:
According to An Algorithm for Passing Programming Interviews, there’s a way to solve almost all of these using a few common techniques:
Others have also found success with the REACTO format, which is Repeat Examples Approaches Code Test (BIG-O): The REACTO! Pattern for Acing Technical Interviews
If you apply to a large number of jobs, you’ll likely be facing a lot of rejections and a lot of “ghosting”. I applied to ~50 jobs, got rejected from 12, ghosted by 19, had phone screens at 8, full loops at 6, and got 3 offers. Although I hope that you get 100% of the roles you want, many applicants report similar patterns in their job funnel. I’ve found it helpful to go into the process knowing that these stats are normal and reflect the process, not my worth. Still, it doesn’t make the rejections sting any less.
Whenever I got rejected, I searched and applied for two more jobs. Or studied an extra system design video. Or read another chapter in one of my prep books. Or, wrote another part of one of these documents. This coping mechanism is particularly helpful to keep things moving and build up momentum, but it doesn’t work for everyone. Do self-care and remember, you can do this! We’re rooting for you!
To help me through this, I wrote the following on an index card and taped it to my monitor:
Your new team is so excited for you to start… they just don’t know it yet.
After you finish your loops, hopefully, one or more of them will go to a job offer.
Remember, you should always negotiate your salary. Other people have written extensively on this topic, and I highly recommend you learn from their wisdom:
My advice here is to come up with your walk away target comp before you get your first offer and then leverage competing offers to boost the offer for your top pick company.
If you are doubting your “worth” in terms of compensation, remember this: “A bottle of water can be .50 cents at a supermarket, $2 at the gym, $3 at the movies, and $6 on a plane. Same water. The only thing that changed its value was the place.” If you have an offer from the right place, you’ll be a bottle of water on an airplane to them.
If you need help figuring out what you are worth, check out Rands Leadership Slack #compensation.
Here’s a script that I used that got me a 20% increase on an offer from a public company. You can use this script either for a phone call or for an email. Thanks to researching market trends, I knew the salary offered to me was near the max for the company, so I elected to just focus on RSU and sign on. Your situation will likely be different. Use the resources above to find correct and current advice for your situation, just remember - always negotiate, especially if you identify as female or from an underrepresented group in tech (this is how we’ll close the pay gap and keep it closed!)
I’m really excited about the $COMPANY offer, but I need to square the offer with some competing concerns.
First, by leaving $CURRENT_JOB, I’ll be walking away from $___ in additional non-salary compensation that I’d get in the next year.
Second, I’ve received several offers, and expect to get several more. The top offer that I have right now is from $OTHER_COMPANY, a publicly-traded company. They’ve offered me a $___ salary, $___ RSU over four years, and an additional $___ sign-on bonus.
However, I’m most excited about the role at $COMPANY. I’d be happy to forgo the (higher) $___ RSU and $___ sign-on incentive from $OTHER_COMPANY and the additional $__ in comp from $CURRENT_JOB if $COMPANY is able to increase my four-year RSU grant to $___ (editor’s note: +20% increase from initial offer) and add a $____ sign-on (editor’s note: it was $0 initially).
If we can get those numbers, I’ll also withdraw my candidacy from the other roles I’m in process with (including $OTHER_BIG_COMPANY_1 and $OTHER_BIG_COMPANY_2) and will sign with $COMPANY.
In hindsight, I now know that this script has had the highest ROI of anything that I’ve ever written and I’m very glad that I negotiated.
Eventually you will land a new role and will be ready to start! I recommend reading The First 90 Days and developing an onboarding plan for yourself.
Here’s a Sankeymatic chart of how my job search process went in late 2021/early 2022. I’d note that more recent charts (late 2023/early 2024) from other job searchers show applying to more than 100-200 jobs to get to the 1 accepted offer. Your mileage will vary, but know that everyone I’ve spoken to goes through a similar process.
The job search process is humbling. Imposter syndrome is real, and I had wild swings between feeling like “I can’t do this, no one will want to hire me” to “Wow, that went so great, I’m sure to get this” and everything in between. It’s normal. Find ways to do self-care, manage your stress, and find ways to laugh about things that aren’t going well. The #job-search-journal channel in Rands Leadership Slack is a great place to vent and commiserate.
And remember to laugh:
If I put this much thought into job searching, imagine what I can do to help your team!