A former colleague asked me to review their resume recently, and the process caused me to think about resumes I’ve seen over the years as someone on the hiring side. I thought it might be helpful to share advice that I’ve gathered in bits and pieces. Software engineers looking for a new role would benefit from realizing how imperative that their first impression must be a strong one when applying. I’m primarily writing for folks that have experience over a year or more- I’ll hopefully post one for brand-new engineers in the future.

Think about what hiring managers want to know.

Hiring managers are asking themselves as they screen through resumes:

  • “What is this candidate capable of?”
  • “How can this candidate’s past experience translate to a positive impact in my organization?”
  • “Will this candidate work well with others on my team?”
  • “Can I count on this candidate to get things done?”
  • “Can this candidate learn our {codebase, technology, way of working}?”

Your resume (and cover letter) is your first opportunity to communicate to these managers: “I can do what you’re asking. You can count on me to make your team better. Here’s what I’ve done in the past to back that up”. Simply regurgitating the job description from previous roles will only get you so far.

Instead of restating your current or previous roles’ job description, take time to parse through the position’s JD. It was likely created as a collaborative effort between the hiring manager and a recruiter. A candidate who can pick apart the JD with their resume to overcome the questions above stands a better chance compared to ones who force the hiring team to attempt to map a candidate’s listed experience to the role described.

Quality resumes are tailored to the role.

Candidates who submit the same resume to every role they apply to are putting themselves at a disadvantage. Contrast them with candidates that customize a resume to a job description, team, and company. The hiring team will notice a difference between the generic resumes compared to ones that were crafted with thought.

To be clear, you don’t have to start from scratch every time you decide to apply for a role. It helps to have a ‘primary’ resume of which ‘secondary’ versions can be cut down to an ideal size for brevity and relevant content. ‘Primary’ resumes are easily maintained over the course of your career if you regularly take time to review your accomplishments and impact.

Another thing worth customizing is a cover letter. Often, cover letters aren’t required, and there’s also a no-cover-letters faction among engineers. Still, it’s my opinion that in a sea of candidates, a cover letter gives you a chance to stand out beyond what you communicate in a resume. You might highlight why you’re interested in the role or company, or give more detail about a particular element in your resume that makes you a great fit for the role. It can also serve as an opportunity to answer questions someone might raise when reading your resume, like a gap in roles. If you choose to submit one (I think you should!) then make sure it’s not the same one you submitted to the last five roles - take time to communicate interest, highlight experience, or clarify your resume.

Communicate your experience with impact and numbers.

As much as possible, quantify what you do. Not by lines of code, story points, or pull requests. Think about it with a lens on impact. How does what you do impact your team? The engineering organization? The business you work for? So many resumes I’ve read simply communicate “developed {$feature} for {$framework} application”. That’s like Tom Brady merely stating “played quarterback for football team”, instead of rattling off the multiple records he set during his career and championships his team won.

For example:

  • Did changing a data retrieval speed things up? How did you measure that? What did it mean for the product?
  • Did you reduce response time on a page or API endpoint?
  • How much revenue does the business or team bring in as a result of your work?
  • How many users does your application serve each month? Requests per second?
  • How did improving build time or test run time impact your colleagues’ ability to do their job?
  • What scale of data is moved around? Gigabytes? Terabytes? Petabytes?
  • How many people do you work with closely to do your work?

Laszlo Bock, a former Chief HR Officer at Google, popularized the statement “Accomplished [X] as measured by [Y] by doing [Z]”. So - putting that to use with the above examples:

  • “Reduced homepage load by 10% as measured by time to first contentful paint by caching images.”
  • “Increased product revenue by 30% measured by clickthrough rate by implementing a recommender system”.
  • “Enabled finance team to manage 500K subscriptions by integrating a payment processor”.

Bonus points: Find a way for the “X” or “Y” figure to include a monetary figure. Numbers are important - as Andy Lester included in a talk on resumes - numbers catch the eye, give a sense of size, and are the language of business.

The best resume is a referral.

Patrick McKenzie’s advice holds a lot of weight: “‘Read ad, send in resume go to job interview, receive offer’ is the exception, not the typical case, for getting employment.” Does his view contrast the theme of this essay? Yes. Should it still be stated? Of course! A network of user group connections, former colleagues or classmates increases the likelihood that your candidacy for a role is fast-tracked. In fact, they are often incentivized to do so by their employers (with the condition that you present yourself well as a candidate, accept an offer, and don’t leave immediately).

You don’t have to be best friends with your network- but being a good colleague and occasionally checking in on them can go a long way. As a bonus, you’ll also get their honest perspective on a prospective employer, instead of having to deduce what life there is like through the lens of websites like LinkedIn and Glassdoor.


Construct your resume as though a hiring manager will read it. Answer the questions that you know they’re asking. Build a tailored resume for that role from a primary resume, which you’ve regularly maintained with a running record of your accomplishments. Quantify your impact on those accomplishments with numbers. Maintain a network of industry connections to increase your chances of a referral.