DEV Community

Cover image for Six Principles Your Resume Should Follow - So Recruiters Will Read It
Gergely Orosz
Gergely Orosz

Posted on • Updated on

Six Principles Your Resume Should Follow - So Recruiters Will Read It

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. 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 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

  • 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 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

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 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. 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 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.

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.
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.
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

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. 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.

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 on software engineering and engineering management, read other articles I wrote or check out my YouTube channel on software engineering content.

Top comments (10)

nicolasomar profile image
Nicolás Omar González Passerino

I appreciate how well strctured and deep is this article. It gives you a wider scope about who can look at your resume and how you can have a more accurate impact using a resume fit for the job.
What do you think of a portfolio/presentation page as a part of a resume to show data in a more interactive way?

gergelyorosz profile image
Gergely Orosz • Edited

As a hiring manager, I hired generalist web engineers, where we didn’t care about the portfolio: knowing a programming language (JavaScript / TypeScript) was more important. This mirrors companies - especially larger ones - looking for generalist engineers.

Portfolios, in my view, are more important when applying to smaller companies, possibly agencies. However, hiring managers and recruiters won’t click through to links in a resume if:

  1. There are a LOT of applications: they’ll just shortlist the most promising ones based on resume contents. Then check those resumes in more depth
  2. If the recruiter filters, and the hiring manager instructs them to look for certain technologies (eg React, Resux, JavaScript) and X years experience.

So yeah, portfolios won’t hurt and can also help, but your resume first needs to pass that “first scan” and fit the checkboxes the screener is looking for.

My honest view is that there’s a lot of advice on create a great portfolio that comes from non-hiring managers (people who ended up getting a job) amd people really want to believe the portfolio will help a lot. It’s a purpose that keeps you busy, helps you practice: but it will probably play less of a role than you expect.

I say think of how you can stand out from the crowd: yes, build a portfolio, yes, learn new skills while you do it... but push yourself further. Eg have you thought of contributing to a popular open source framework? Now that could make a resume stand out 10x more than any portfolio at companies that are big on code quality or contributions to open source.

(Hint: to you can contribute to codebase and claim that your code is used by 500K devs on your resume: now that is something!)

danielsobrado profile image
Daniel Sobrado

As a Hiring Manager and Hands on Engineer I look into the details of personal websites and github repositories of the candidate, and I often include question in their interviews of their own published work, I find it very useful.

Thread Thread
gergelyorosz profile image
Gergely Orosz

It comes to show how hiring managers and recruiters have very different approaches, especially based on the company size.

If I started a a startup, I’d do exactly the same. If I got 10 applications for a posting, I’d still do the same.

At a large company, where there are many inbound applications and/or there is a conscious effort to not have bias that impacts people with no personal projects negatively (eg they don’t have additional time to do these or cannot publish them), hiring managers/recruiters might just skip what another person would look at.

You can only have an upside with your side projects: you learn for sure, you practice, and some hiring managers will pay additional attention. You’ll just (unfortunately) never know which ones!

squidbe profile image


Freudian slip? ;-)

Thread Thread
gergelyorosz profile image
Gergely Orosz

Hahaha, I missed it: now I'll leave it and pretend it was deliberate :D

dule_martins profile image
Dule Martins

I truly appreciate this kind gesture, lately I've been receiving emails from job I applied for saying "is unfortunate " and "we are sorry" it got me wondering how and what is this challenge.

I will definitely follow your advice 😍

orimdominic profile image
Orim Dominic Adah

Thanks, Gergely for this post. My resume is close to what you suggested. I'm modifying it further.
What do you think about the importance of a portfolio website? How important is it to recruiters? Thanks again

ashleyjsheridan profile image
Ashley Sheridan

I often see the advice to tailor the resumé to fit the job you're applying for, but I have to disagree. Almost every job post I see is a template sent out by recruiters that copy/pastes in a few details (sometimes so obviously that those details are in a different font!)

A developer, when deciding to move jobs, may actually be applying for many positions at a single time, so tailoring an individual resumé for each one is time consuming ontop of the already large amount of time that is required to apply for a job and go through the appliction processes.

I think the best return on investment will always come from getting your resumé laid out in a clear and concise manner that makes it really easy to find what you're looking for at a glance. Remember, the first people to look over it often don't have an in-depth knowledge of the field. Clear use of document layout styles will be a huge help, like clear headings, good paragraph spacing, and perhaps even a clear list of skills laid out in an easily skimmed table/list.

phongduong profile image
Phong Duong

Nice tips. Thank you for sharing