How to write the perfect senior software engineer resume
By: Jacob Voytko
Tags: Resume, Software Jobs, Software Industry

TL;DR checklist

If you don’t want to bother reading the article, you want to make sure that your resume answers these following questions:

Does your resume demonstrate a track record of designing, implementing, and shipping projects as part of a team?

Does your resume indicate that you worked with external stakeholders? These could be founders, executives, other teams at your company, other disciplines like design or product management, external companies, etc.

Does your resume indicate that you were responsible for projects, perhaps as a project lead or a tech lead?

Does your resume indicate that you mentor or train engineers?

Do you explain the impact of your work? Does your resume demonstrate that the company functioned better after your work?

Why is it so important to have a strong resume?

You’ve been a software engineer for years. Your company has recognized the impact of your work. They promoted you to the rank of “senior software engineer.” Congratulations, you’re a senior software engineer!

Or wait! Maybe your company doesn’t recognize your work. You’ve been having more and more impact, but the promotion (that you deserve!) just never comes!

Either way, let’s say that you want to switch jobs. You’ll be starting from scratch at a new company. How do you signal to prospective companies, “You should hire me as a senior software engineer”? How do you get the level that you deserve?

Above all, you want to avoid being “downleveled.” Downleveling happens when the new company hires you below the position that you deserve. This can be devastating because it could take years before you build the track record to make a promotion case to the correct level, and you are underpaid during that time. In a just world, they would recognize their mistake and correct your level within months. But all it takes is one promotion committee member saying, “I refuse to ever promote someone before they’ve worked here for 2 years,” and boom! Your career and your salary are set back by years. People really say things like this. I’ve personally heard it.

Your senior software engineer resume is one of the best defenses that you have against downleveling. And this is because of systematic cognitive biases that we all have. We need to understand how companies make hiring decisions.

How do companies decide what level you will have?

Largely, you’ll be leveled based on four things:

What level your resume indicates. Do you have the work experience of a senior software engineer?

Do you have the work experience of a senior software engineer? How well you perform in interviews. Did you answer each question to the level of detail and quality that they’d expect from a senior software engineer?

Did you answer each question to the level of detail and quality that they’d expect from a senior software engineer? What you negotiate. Refusing to accept a position below what you deserve.

Refusing to accept a position below what you deserve. Vibes. Do you “seem” like a senior software engineer? The less rubric-based the hiring decision is, the more vibes matter. Nobody will ever admit that this is true.

The first impression the company will have is based on your resume. Because of the anchoring bias, you want your resume to scream, “I AM A SENIOR SOFTWARE ENGINEER!”

Therefore, you want to make the strongest senior software engineer resume that you can. If hiring managers start with the assumption, “This person operates at the level of a senior engineer,” more will have to go wrong for them to decide, “Actually, this person is not senior yet”. On the other hand, if their first impression is, “This person seems like they’re not senior yet,” you’re fighting an uphill battle to get the leveling that you deserve.

How do you make the strongest resume that you can? You want to understand the function of a senior engineer, and use your resume to explain why you are a senior engineer.

What is a senior software engineer?

We can use existing career ladders to understand the role of a senior software engineer. Etsy open-sourced its internal career ladder. You can click that link for more detailed information. To summarize, you want to prove that you have impact in five areas:

Delivery : Getting projects out the door.

: Getting projects out the door. Domain Expertise : Your ability to understand the technologies in a domain.

: Your ability to understand the technologies in a domain. Problem Solving : Your ability to find solutions to problems, make decisions, or prevent them from ever happening.

: Your ability to find solutions to problems, make decisions, or prevent them from ever happening. Communication : How you communicate with internal and external stakeholders.

: How you communicate with internal and external stakeholders. Leadership: Taking responsibility to make decisions, mentoring others, and setting an example.

Most senior software engineers make the same mistake when writing their resume: they only focus on Delivery, Domain Expertise, and Problem Solving, and they do not explain their impact in Communication or Leadership.

Do not make this mistake! To prove that you are a senior software engineer, you want to prove that you can implement and ship any well-scoped problem that is given to you, that you understand the technology, that you make sound technical decisions, that you can properly manage internal and external stakeholders, and that you were responsible for the delivery of projects.

Let’s break it down into two groups: the technical part of being a senior software engineer, as well as the social part.

Proving your technical skills.

First, as a software engineer, you want to prove that you can go through the full software lifecycle: you can collect requirements, collaborate on designing a solution, collaborate on implementing a solution, ship it, and maintain it.

Proving your technical skills has an easy part and a difficult part.

First, the easy part. You just need to explain projects that you worked on! Do you remember that time that you added REST API endpoints that performed CRUD operations on a database, which allowed customers to leave comments on products? Congratulations, that could be a resume line item! You just need to find the projects you did that demonstrated the most impact.

Now, the hard part. You need to explain the impact of them. Which of these two lines sounds better:

Led a team of 3 adding comments to all product pages. Worked with design and product and provided regular updates.

Led a team of 3 adding comments to all product pages. Worked with design and product and provided regular updates. Increased revenue for customers that left comments by 40%.

The latter sounds better! Anyone can write a feature, but “the proof is in the pudding.” If your feature led to positive business impacts, then it adds credibility to your technical work.

Impact can come in any number of ways, but it’ll roughly follow this stack-ranking:

Increase in metrics related to revenue.

Decrease in metrics related to cost.

Ability to implement features that would have previously been difficult or impossible.

Time saved by staff, like time saved automating tasks.

Measurable technical improvements, like performance improvements, reduced errors, etc.

Why do the business impacts sort higher? Because you’re probably going to get hired by a hiring manager or an executive, and not an engineer. These people want to tell their bosses, “Hey, check out how good my team was at improving business metrics!”, because that’s what their bosses want to hear.

I know this can be hard. We often don’t measure the impacts of what we did. Just do your best, and try to include concrete numbers. Was this one of the top-10 customer feature requests? Did it replace a system and save maintenance time? How much time did it save? Did coworkers remark that your project was unexpectedly shipped ahead of schedule? Really think about whether you can identify concrete benefits for each of the projects that you list.

Proving seniority

Technical skills are not enough to prove that you are a senior software engineer. If you only list your technical accomplishments, then you will appear like a pre-senior engineer with strong technical chops.

Why?

As you rise in seniority, your job will focus more on enabling the work of others. Other teams, other people on your team, your managers, partner companies, etc.

The senior software engineer is the first step on this journey. This is the first time that part of your output will include your ability to influence the output of others.

This means that your senior software engineer resume actually needs to prove that you meet this part of the job criteria of a senior engineer.

There’s good news, though: it’s easier to demonstrate impact for these types of items! If you wrote onboarding documentation, and five engineers used it when they joined the team, you can write “Performed onboarding for five engineers, additionally wrote onboarding documentation that saved days of engineer time by consolidating information into one place.”

Focus on demonstrating how you enabled the work of others. The more recent your job experience is, the more important that you include this information.

If you led a project, or were a tech lead for a team, make sure to mention it. This is perhaps the easiest way that you could demonstrate your impact on others, since your “sphere of influence” becomes the whole project.

So there you have it!

It’s important to have a strong senior engineer resume because it helps you avoid downleveling. You want people to get the impression that you should be leveled at senior.

Besides that, you want to focus on making sure that your resume focuses on proving your technical output, by trying to highlight how you work in each part of the software engineering lifecycle.

You want to make sure you don’t just focus on technical output. Explain how your work enables others.

Regardless of what you do, please explain the impact of your work as much as possible. Focus on explaining business impact before technical impact. Impact will emphasize that not only did you perform work, but the work was actually beneficial.

One last tip: If you’re not a senior engineer yet, but believe that you deserve to be, consider writing an objective statement on top explaining that your objective is to be a senior software engineer. I’m normally not a fan of objective statements, but this could help anchor the discussion at “senior software engineer” and help protect against downleveling.

Get a stronger resume

I’m a former staff engineer, and I’ve been a professional software engineer for over a decade. If you believe that you would be more successful with a stronger resume, check out my resume review service.