ByteByteGo logo
ByteByteGo logo

Chapter 1: Why Resumes and CVs are Important

I have reviewed over a thousand resumes the past few years—or, as they call them in Europe, Asia and several other places, CVs1. As a hiring manager, I glanced through most of these, taking 10-20 seconds to decide on whether to read more in-depth. In a minute or two, I always decided whether to proceed with a call with the applicant. For contrast, the average recruiter spends around 7 seconds2 to scan a resume and decide if it’s a reject, or if they'll read further.

For a week in May 2020, I carefully reviewed more than 300 resumes, spending far more time on each than a recruiter or hiring manager would. These resumes ranged from senior engineers to new grads. The people writing these put time and effort into building what they thought was a good resume. Still, I had plenty of feedback on each.

The majority of developer resumes I have seen did a poor job representing the person behind the profile. As a hiring manager in a hurry, with more than a hundred resumes to go through, I would have passed on many of the otherwise strong and qualified candidates. This was because their potential did not come across on the resume. Recruiters, who often are less technical, would have passed on even more of them.

You write a resume when you are proactively applying for a company: when you are actively searching for a job. And when you apply directly, you want a resume that represents you well, on the first glance. If you don’t put in the time and effort, don’t be surprised if you’ll be passed over for someone who is just as qualified, but has a resume that sells them better for that specific position.

The Goal of a Resume

Why do we spend so much time crafting a resume? What is the goal of this exercise? Many people create a resume because it is required to apply for the job. You need to upload an attachment in the application form. So several people google “resume template”, fill it out with their experience, and submit. They do the work but don’t think about the goal.

The goal of a resume is to get you to an interview for that position with a recruiter or hiring manager from a specific company. That’s it—nothing more, nothing less. It’s to get your foot in the door. It's not a goal to share your complete work history or represent everything you did as accurately as possible.

The goal of the resume is to sell you for that specific position—and do this in the less than 10 seconds that the recruiter or hiring manager will be reading it. Keep this purpose in mind, as all the content in this book will revolve around this goal.

From the inside out: how hiring managers typically go through resumes

Nevile Kuyt is a hiring manager with two decades of hiring engineers behind him. He has reviewed thousands of resumes and shares his process on screening inbound resumes:

“I like to use the "yes/maybe/no" model for this process. As a hiring manager, I go through a pile of resumes, and my goal is not to find the unique snowflake who would be perfect—I don't have time for that. Instead, I want to get that pile of 300 resumes down to the handful I'll interview, and do that as quickly as possible because I have other stuff to do.

I create three piles:

1. Yes pile: these resumes jump out at me as being a very good fit. I'll interview them. No more than 5 in this pile, and if I find a 6th, the weakest moves to the:

2. Maybe pile: not a perfect fit, but close. If I don't get enough “Yes” ones, I'll go through the maybe pile. No more than 5 in this pile. Everything else goes into the:

3. No pile: I'm really looking for a reason to put the resume in the NO pile. Poor spelling, grammar, no relevant experience in the last two years, different tech stack? If the "Yes" pile is big enough, those will get the resume onto the "No" pile.”

The goal of your resume should be to “jump out” as a Yes pile candidate. The Yes/Maybe/No approach is typical of how hiring managers and recruiters screen resumes. Assuming you are a fit for what the job is looking for, you’ll want to tailor your resume to maximize the chances of this match being clear on the first scan. With many applicants and a poorly written resume, there’s a good chance yours will end up in the “Maybe” or the “No” pile. And if there are enough “Yes” candidates who pass the phone screen, you might not get that next call, even if you are on the top of the “Maybe” pile.

Good Resumes, Great Resumes

Good resumes are ones that represent you in the fairest possible way, maximizing your chances of getting through the resume screening process—assuming you are qualified. However, even with a good resume, you won’t win over a recruiter every time. This could be for a variety of reasons, the main ones being that your profile doesn’t match what the company is looking for, or there are stronger profiles competing with yours. However, with a good tech resume, you won’t miss opportunities due to not representing yourself well enough.

Great resumes are ones where you grab the attention of the recruiter or the hiring manager, and they immediately want to talk to you. Unfortunately, this has little to do with the format, and all to do with the content. Great tech resumes are ones that showcase rare and valuable experience or skills that are exactly what the job needs. If you happen to be an engineer who is an expert in a niche framework, and you apply directly to a small company who sees few applications, and who are rebuilding their product using this same framework, the recruiter won’t believe their luck.

Great resumes are not generic: they are great for that specific role. While it’s tempting to think that having worked at Google makes your resume great, this won’t be the case for all positions. Going back to the previous example: if you’ve worked at a senior frontend developer at Google, your resume won’t necessarily count as great for a backend position that is looking for deep expertise building developer tooling.

A good resume is the first step towards having a great resume. A good resume—one that represents you as fairly as possible—helps you get a good job. And a good job is the stepping stone to having the experience for a great resume. This guide will help you craft that good tech resume, building on your current experience.

Great resumes can also be ones that show solid career progression towards the current role. There’s a trail of promotions, taking on more responsibility or taking on more initiative, throughout the years. They are a stark contrast to journeyman resumes.

Journeyman resumes tell a story with zero, or close to zero progression. For long stretches of time, little to no career progression is visible. For high-growth companies, journeyman resumes can be a reason for rejection, as recruiters and hiring managers look for signs of progression. These signs could be some level of professional growth, as well as taking on more responsibilities or solving complex problems.

If you have a resume that reads like a journeyman resume, think about why this is. Are you not telling your story right? Or have you actually not been growing in any meaningful way for the past few years? It’s unlikely that you have not grown at all, so visualize the increase in responsibility, any vertical moves you have made, and the times when you have been promoted.

From the inside out: does having worked at Google make my resume great?

Out of the hundreds of developer resumes I reviewed, a particular one stood out. This resume was from someone who spent a combined five years at Apple and Google before moving over to a small company. And yet, they reached out to me, as they were not getting many interviews and couldn’t figure out why.

True, the resume caught my eye, just like every recruiter’s eye, so I read it in detail. But with every paragraph, my initial excitement faded. The resume painted the picture of someone who did mediocre work at the current small company. They described how they were working on a hard problem and built a solution end-to-end. They then linked to a barely-working web prototype, which looked and felt amateur when I tried it out. Reading further, there was very little mention of the specifics of the work at Google or Apple. And even what was written was making it seem like they only played a side role on internal projects at Google and Apple.

This person might have still gotten interviews, had they not been interviewing in the Valley. Here, Google and Apple are well-regarded, but the name itself won’t always get you through the door. The resume also needs to sell you. This resume did no selling—it only did underselling.

When I talked with this person, they explained that they were a backend engineer, and frontend development was something they rarely did—and did not enjoy. They explained all the complex challenges they had solved with the small company on the backend. They implemented better text recognition algorithms, text clustering and natural language processing solutions. They did remarkable research, built a solid text analysis system—but mentioned nothing about this in their resume. Instead, the reader saw the result of their frontend work—which was, indeed, the work of a few weeks, but reflected very little of their real strength in backend development.

A similar story emerged when we talked about what they worked on at Google and Apple. They did build key components—one of them was even open sourced—but they did not mention this on the resume.

This person reworked their resume by identifying their most important personal contributions and achievements. The new resume looked far stronger: talking about how they built a complex backend system at the small company, how they were tech lead of a team of three on an internal project at Google, and how they solved a difficult and impactful technical challenge at Apple.

Structuring your past experiences to showcase your best personal contributions is key in getting noticed — even when you have strong companies on your resume. Hiring managers are looking for people who can help them with their current challenges of building software and shipping value.

The updated resume was what I’d call a Great Tech Resume, because it represented the person fairly, and showcased their impactful contributions at well-known companies well. After this, the interviews kept coming in. While it’s not exactly hard to achieve this success for someone who has worked at Google, it’s a reminder that presentation and storytelling make a big difference.

Why LinkedIn is Not Enough

Several developers I talked with have no resumes. They have a LinkedIn profile that has served them well until now. When applying for a job, they just export this profile as PDF and send it off. While this approach will work in the cases where there are few applicants, or you have standout experience, it won’t serve you well in all cases.

LinkedIn is a tool for getting sourced when you are in demand: it is a poor tool for directly applying. It has poor use of space, does not optimize for recruiters to scan it. And frankly, it shows you’re not really interested in that particular job you applied for.

There are other downsides when using LinkedIn as your resume:

  • Not able to tailor to a specific position. In many cases, your background and experience make you qualified for multiple positions. For example, a developer with fullstack experience can decide to apply to frontend, backend, or fullstack roles. For each of these roles, you’ll want a tailored resume. With LinkedIn, you are stuck with a generic one that will not do as well as if you customized it.
  • Lack of history or versioning. With resumes, you can have resume versions stored that you iterate on. With LinkedIn, there is no versioning.
  • Overly verbose generalization. The page count is high for resumes generated with LinkedIn. The design wastes a lot of space.
  • Lock-in with LinkedIn. There is no guarantee that the LinkedIn resume generation feature will be there in the future, or that it will work as it does today. When using a text editor, you have less lock-in. When using a resume generator, you have lock-in, but can reasonably expect the functionality to work in the future as well.

To be clear: LinkedIn resumes work at times when it’s a developers’ job market. They also work when companies struggle to get anyone interested in applying. Heck, in those times, you can skip this guide, put a text file together with your name, email, years of experience, and you could easily get invited for a technical interview. That’s how things went in the late ’90s, before the Dotcom bust. To some extent, the same happened around early to mid-2010s, when huge amounts of VC money poured into many startups, who had to hire fast. If you’re in this kind of a market, you need to worry far less about resume formatting. If not—that is where this book can help you.

If you want to get a job via a direct application, build that resume and customize it for that job. And do keep your LinkedIn up to date: see the LinkedIn Profile section for more advice.

A Resume Is (Still) Not Enough

I have gotten several messages, where people think that the format of their resume is the only thing that is getting in the way of getting that recruiter call. Messages such as this one:

“I have been applying to Facebook in London, Stripe in New York, and Snap in LA. I haven’t heard back from any of them. Can you help me fix my resume so I get an interview?”

A well-written resume is required, but it is not sufficient to get a recruiter call. There are several other factors that are outside your control. These include:

  • If the position is still open. The position you submit your application to might have already been filled—without you knowing about it.
  • Your competition. You might think you have a strong profile, but what if there are dozens of people with more experience, with stronger skills applying for the same position? You won’t get an interview. Also, for remote-friendly and remote-only jobs, the competition will be far more intense.
  • Being local vs needing relocation. If a position sees hundreds of applications, the local candidates might get preference. They won’t need relocation, which means they could start faster. Also, the lack of relocation makes this cheaper for the company.
  • Your visa status. When a company has to apply for a visa for you to work in the country, this takes time and money. Companies usually only sponsor visas for senior positions, where they cannot find candidates without needing visas. Even many of the big tech companies only sponsor visas for senior or above positions.
  • Your seniority. Certain positions only look for people with certain seniority—even if they do not advertise this externally. You might be considered not having enough experience for a position. This is frequently the case when you are a new grad, or have less than two years of experience, applying for positions that do not consider people without a few years of industry work behind them. In more rare cases, the recruiter might decide you seem to be overqualified for the position, with all your experience.
  • Luck. Blind chance also plays a role, especially when your resume competes with hundreds of others. There are ways to make luck less of a factor—see the section on referrals, which can make the biggest difference in eliminating this factor and getting to a recruiter screen.

This book will help you craft a resume that represents you fairly. While following the advice will hopefully help you see higher response rates, there is no “magic formula” for getting that next call. At the same time, the more you know about what is happening behind the scenes, the more you can write your resume for the people who will be reading them. To understand who the key people are, let’s dive into how the hiring process typically works at tech companies, and who might be reading your resume.


Footnotes

  1. CV stands for Curriculum Vitae. In Latin, this means “course of life”.

  2. Source: HR Drive Eye tracking study shows recruiters look at resumes for 7 seconds

ask alexask alex expend