Six Principles Your Resume Should Follow - So Recruiters Will Read It
Tags: books, career, beginners, resume
Published: 2020-12-01 16:49:55

I've been a hiring manager for several years at Uber and Skyscanner. During this time, I've read hundreds of developer resumes. I've been researching the topic of what good resumes look like, while [writing probably the most comprehensive book on developer resumes](https://thetechresume.com/). I've talked with two dozen tech recruiters and hiring managers at well-known companies: from Facebook and Google, through Amazon, Microsoft, Coinbase, and many others. As a way of paying it forward, [this book is free](https://thetechresume.com/#pricing) for any developer who does not (or not yet) have a job - no strings attached.

Here are the six key principles worth following, to maximize your chances of recruiters and hiring managers reading your CV.

## 1. Take a step back to understand who will read your resume

Many people jump straight into writing a resume. However, knowing who will read it is key in deciding what information you should include. People who are most likely to read your resume are:

![People most likely to read your resume](https://dev-to-uploads.s3.amazonaws.com/i/pzosmrape2b1ysyehu0e.png)

- **Hiring managers** are the people who opened the job, and would often be your future manager, if you're successful throughout the process. They define the requirements and often write the job description. They set up the hiring process and define who the technical interviewers will be, and what areas they should focus on. At smaller companies and startups, they might screen all incoming resumes. But as the company grows, they won’t have time to do this.
- **HR generalists** might do resume screening at growing companies: the companies who have yet to hire a dedicated recruiter. These people get guidance from hiring managers, and then try to see if there’s an overlap between your resume, the job description, and what the hiring manager asked for.
- **Recruiters** often do most resume screening at mid-sized companies. Some recruiters are more hands-on and understand technical terms better. Some might be closer to an HR generalist in their technical domain knowledge. Recruiters will aim to determine if you could be a fit for the role, based on your resume.
- **Inbound sourcers** are a specialized role within large tech companies who get large loads of applications. They are recruiters who focus on sorting through the direct applications and do this for multiple positions at any given time. 
- **The interview panel** is the group of people who would interview you, assuming you made it through the resume screening, and, possibly, a recruiter call. They get your resume forwarded and do a quick readthrough before the interview. There’s no need to impress this group: they are the people who might pay attention to your “interests” section, though, to kick off the conversation with an icebreaker.

Hiring managers are usually the most technical of all, and ones who are most likely to "read between the lines" of your resume. HR generalists and inbound sourcers will usually follow instructions - for example, to look for certain languages or years of experience. Recruiters could be somewhere in-between, depending on how technical, and how experienced they are.

**If your resume shows that you are a fit for the job you applied for**, everyone's job is easier, regardless if the hiring manager, inbound sourcer, HR partner, or recruiter is screening your resume.

On top of understanding who will read your resume, it's worth getting a sense of [what a typical hiring pipeline looks like](https://thetechresume.com/samples/the-hiring-pipeline.html#typical-hiring-pipeline) at the different stages, where the resume screening is the first step of the process.

## 2. Tailor your resume to the job description

When you apply for a job, you probably feel qualified enough for that listing. You know your own strengths, your ability to learn quickly, and some examples of similar work you might have done, in a different setting.

However, the people reading your resume don’t have any context about you. You can choose how to proceed. Do you give a thorough overview of all your past achievements? Or do you focus on a shorter overview, but focusing on the parts that show why you would be a great fit for this role?

**Craft a resume that speaks to why you are a fit for that specific position**. Take a “master” version of your resume, then remove parts that hold less relevance to the position. Add examples or experiences that reflect on expectations or bonus points for the job.

I’ve noticed developers often being nervous to remove bullet points from their past experiences. You shouldn’t be. Your resume is a tool to get you the interview. Once making it to the interview, you’ll have the opportunity to talk about the various things that you did that are not on the resume. Be ruthless in removing things that don’t help convey why you are a good fit for the position.

## 3. Choose a clear, top-to-down template

The benefit of being a software developer is how the format of your resume doesn’t matter, as long as it’s clear. The contents are what is important.

There are many resume templates out there. However, most of them were created for people who want to see pretty resumes. What you’ll want is an easy to read resume. The best template for this is dead simple, and has the layout similar to what recruiters are already used to: LinkedIn.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/2j3isfw1ldgcf2sgnxdu.png)

You won't want to add a photo on your resume, but keeping it easy to read top-to-down makes the job of recruiters much easier. Keep the resume easy to read as you write the contents. You’ll want key details to “stand out” via whitespace or bolding that recruiters and hiring managers care about:
- Your name
- Location / residence
- Dates that tell roughly how many years much experience you have
- Languages & technologies you are proficient with
- Titles & company names from your past experience
- Standout information 

Resist highlighting anything else beyond the key pieces of information. Overusing highlighting or bolding defeats the purpose of this tool. Take a look at [this developer resume template](https://blog.pragmaticengineer.com/the-pragmatic-engineers-resume-template/) I created that gives you a sense of an easy-to-read CV.

## 4. Talk about specifics and impact, where you can

When listing your work and project experiences, focus on what you achieved, as opposed to what you did. For the achievements, try to quantify these with the impact and (business) results. A framework you could use is “Accomplished {impact} as measured by {number} by doing {specific contribution}”. This is similar to [the structure Google encourages for resumes](https://www.linkedin.com/pulse/20140929001534-24454816-my-personal-formula-for-a-better-resume/). You don't need to use the exact same wording. However, do make the impact clear, what your contribution was, and add specifics where you can.

**Use active language** that shows what you have done and how you have been proactive. Use active verbs like “led”, “managed”, “drove”, “improved”, “rolled out” over passive ones like “improving” or “rolling out”.

**Use numbers** to convey the impact of your work, or projects. Numbers grab the attention of hiring managers, and they also show that you are able to quantify the outcome of work, and be specific about it. For example, instead of saying “Built an open source JavaScript project to display dates.”, say “Built an open source JavaScript component for date display. The project has 5 contributors, 120 stars and 4 known production use cases.”

**Mention specific languages and technologies** that you used towards the end of your description. Impact and your contribution are more important to convey than the technologies. However, it’s worth calling out what tools you’ve used. Mentioning technologies in this context is more powerful for hiring managers and interviewers who are reading your resume in detail. [Here are a few examples](https://thetechresume.com/samples/resume-structure.html#languages) on how to mention these languages in your CV.

Quantify your impact wherever you can. Most resumes do not contain numbers: if you add these specifics, you will stand out. Instead of saying “Built a tool widely adopted by the company”, say “Led a team of 3 developers to build a dependency injection framework that was adopted by 15 teams and all 50+ developers at the company”. Numbers can be several things: number of people on the team, lines of code, code coverage % before and after, SLA changes, revenue generated by the project. They can be number of users, number of installs, number of five-star ratings, number of customer support tickets you proactively resolved, and many others.

## 5. Less work experience? Improve your resume throughout your application process

Assuming you have less work experience, your projects section will be an important part of your resume, and one where you'll want to try and stand out from the crowd. Here are a few ideas to do so:

**1. Publish projects with good READMEs** on your Github page. Aim for the README to have a good summary, screenshots, details on how to run, and how to test. Take inspiration from [projects with awesome READMEs](https://github.com/matiassingers/awesome-readme).

**2. Have tests for your project that can be run.** Most bootcamp grad projects don’t have automated tests, such as unit tests or end-to-end tests. Many of them have not heard of TDD (Test Driven Development). To learn more about this, see the [Learn Test Driven Development resource](https://github.com/dwyl/learn-tdd).
If you have tests in your project, add a “Running tests” section on your README, to make it clear how anyone can run these. For an example on how to document running tests, see [how this is done in a project like Leaflet](https://github.com/Leaflet/Leaflet/blob/master/CONTRIBUTING.md).
Once you have tests in your code, call this out on your projects. In the project description, mention the code coverage percentage—and see if you can get this higher. Having built a project that is tested will already help you stand out from the crowd.

**3. Contribute to other open source projects on GitHub.** If you get to merge your pull request, you can claim that you’ve contributed to a project used by more than a certain number of developers. Stars on the project is a metric you can use here. For example, for a project with 28,000 stars, you can state: Contributed to the Leaflet, the leading open-source Javascript mobile friendly-interactive library with more than 28,000 developers using it.

**4. Turn takehome projects and coding challenges into fully-fledged projects.** Assuming you make it through the resume screen, a next step will be a coding challenge you need to submit. After submitting this challenge, don’t stop there. Continue the work and publish an even more polished solution online, with code on Github, tests in place, and a nice user experience. Consider spending a little money for a domain and hosting, and have this project be accessible to anyone—and add it to your resume.

If your takehome project doesn’t take you to the next round, ask for feedback, and build that feedback into this project. Once you publish a project you’re proud of, you can always send a follow-up to the company, showing them the improved version you’ve built. Don’t hold your breath—but who knows? 

## 6. Be aware of the priority of your resume

The best advice on how to get the attention of a recruiter is to skip the inbound applications queue. You'll hear the advice on getting a referral often. This is because it does make a huge difference.

However, it's not the only thing that can help with your application. Being local to the company, or not needing a visa also makes a difference when being compared with candidates who are not in this category.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/vxw5s0p6aa78h3gp5w9i.png)

From a practical point of view: see if anyone's company in your network is hiring, and look at local opportunities, even at a time of remote work. You might have less competition, and better opportunities to stand out.

## What your resume is for

The one goal your resume serves is to convey that you’ve got the experience that the position is looking for. In cases where you do have this experience, presenting this in a way that people will read it might be getting in the way - at least from the things that you can control.

I’ve written the book [The Tech Resume Inside Out: what a good developer resume looks like](https://thetechresume.com/). It's probably the most comprehensive book on this topic in 2020 and is free for any developer currently without a job: if you are in this situation, you can [get a complimentary copy here](https://thetechresume.com/#pricing).

I hope this advice was helpful. If you are job hunting: wishing you the best of luck!

If you enjoyed this post, you can [subscribe to my newsletter](https://blog.pragmaticengineer.com/newsletter/) on software engineering and engineering management, read [other articles I wrote](https://blog.pragmaticengineer.com/tag/popular/) or check out [my YouTube channel](https://www.youtube.com/channel/UCPbwhExawYrn9xxI21TFfyw) on software engineering content.