Acceptance rates for software engineer (SWE) jobs at the very top tech companies tend to be under 1%. As you can imagine, most candidates don’t get past the resume screening.
To increase your chances of getting to the interview stage, use our step-by-step guide to writing a top software engineer resume (along with a template that you can use to kickstart your resume-writing process)
Aside from tips and expert insights from our recruiter and engineering coaches, our guide includes real examples of SWE resumes of candidates who’ve earned offers or interviews at Google, Amazon, etc.
Yes, we’ve made sure to include 11 actual resumes from real software engineers working at top tech companies, unlike the fake ones you find on the big resume sites.
We’ve also analzyed SWE job offers at top companies to create a list of common requirements that your SWE resume will need to meet.
Here’s an overview of what we’ll cover:
- Top 7 tips on writing a SWE resume to get into FAANG
- Key skills for your SWE resume
- 11 SWE resume examples that worked for Google, Amazon, etc.
- SWE resume template
- How to write an SWE resume (section-by-section)
- Your SWE resume checklist
Note: Credits to SWE/EM coaches Suman, Camilla, Luis, Vishal, Sahand, Shalini and Sundar, career and recruitment experts Cody and Candace, and this excellent Quora discussion for providing some of the insights and advice in this article.
Let’s get into it.
Get expert feedback on your resume with software engineer ex-interviewers
1. Top 7 tips on writing a software engineer resume to get into FAANG↑
We asked Cody (top tech recruiter, ex-Google now at LinkedIn) and Candace (career and resume expert) what advice they'd give to a software engineer writing a resume to get into FAANG/MAANG or similar.
They've helped a LOT of people get into top tech companies and they evaluate SWE resumes every day, so they know what they're talking about. This is what they came up with:
1.1 Answer recruiters' questions immediately
There is one thing that all recruiters and hiring managers want to know immediately: years of role-relevant experience.
And if you're applying for an engineering leadership role, they'll also want to see how many years of management experience you have.
So, make it easy for them.
"Us recruiters are lazy. Don't make us dig around for the key info, we want to see if you meet the job requirements in the first 10 seconds!" says Cody.
To do this, you could include some bullet points with this key information at the top of your SWE resume. This leads us to the next point.
1.2 Consider a non-traditional structure
The layout we recommend in Section 4 is the traditional one, perhaps the safest. But it's not obligatory.
Cody prefers using two bullet-point summaries at the top of your resume to pack in the key information and your most impressive career achievements as a software engineer.
"The top of the resume is the prime real estate. Put the shiny bits, your best achievements, up top. That way you've got a better chance of grabbing the recruiter's attention."
This is what it looks like on page 1 of his resume.
Click to watch Cody's full explanation of this non-traditional resume format.
1.3 Avoid using design features
There really is no upside to using a fancy resume design. It won't impress recruiters and, in a worst-case scenario, could actually prevent your resume from being properly processed.
"Design features like pictures, columns, photos, etc. can prevent ATS systems from correctly scanning your resume," says Candace.
You should also avoid including your photo in your resume, as this goes against employment and discrimination laws in most countries, and is another potential problem for applicant tracking systems (ATS).
1.4 Be explicit about the locations you’re open to working at / remote
So many people fail to do this. But if FAANG recruiters are going to approach you for software engineer roles, rather than the other way around, they'll need to know the locations you're available to work at.
If you're willing to relocate for the right SWE role, make that clear in your resume. Instead of putting "San Francisco" under your name next to your email, maybe you put "Locations: San Francisco| Remote| Hybrid within a 30-mile radius of Bay Area".
1.5 Cut out all waffle
Recruiters like Cody and Candace see so many personal statements or 'objective' sections at the top of resumes which take up valuable space without saying much at all.
"Everything on your resume needs to be specific,” says Cody. "Putting ‘Experienced engineer passionate about making great products" doesn't tell me anything. It wastes both space and seconds of the recruiter's time. You've got to be more specific. How many years of experience? What great products have you made?"
1.6 Numbers tell a better story
This is worth repeating again and again: quantify your achievements. All the most effective resumes are packed full of metrics and numbers that put achievements in context.
"Especially in engineering but honestly this advice is for many careers spanning many industries, we have to tell our story through data and numbers. Words can tell a story but numbers tell it way better," says Cody.
So, if you’ve successfully worked on an app update, include the specific metrics by which you measured its success (increased daily active users, downloads, engagement). If you’ve led a software redesign, how much money were you able to save the company with it? Without numbers, your achievements are hard to evaluate.
1.7 Use a skills section to include keywords for your role
You don't want to jam your resume full of keywords, but with ATS increasingly used, it is important to make sure your resume mentions the necessary skills, tools, and technologies. Candace says that a skills section can be a great place to list all these very efficiently.
"A ‘Skills’ section can help recruiters quickly see if you fit their requirements, and is also a great way to get keywords into your resume. You could also consider a ‘technology snapshot’ type section if the jobs you’re applying for require experience in specific technologies."
2. Key skills for your software engineer resume↑
There are some key skills that are important in any software engineer resume, and we're not just talking about the obvious technical skills.
2.1 Leadership skills, even if you're not applying for a leadership role
Recruiters and hiring managers want to see that you have what it takes to become a leader if you're not one already. So include examples where you led a project, took the initiative, or influenced other people.
If you haven’t got many strong examples from your work experience, try to find examples from personal projects or university (if recently graduated).
If you're applying to a management role, include experience working with cross-functional teams and aligning various stakeholders.
2.2 Coding languages
Obviously. Google recommends listing these right at the start.
2.3 Problem-solving skills
As a software engineer, an important part of your job is to come up with innovative solutions to problems. So you’ll want to highlight that you’ve got the skills in this department on your resume.
Give examples of problems you’ve solved in your previous role, whether it’s a workflow or deployment issue, debugging, etc. You can also include examples from personal projects.
2.4 System design skills
These are needed for engineering roles at top tech companies. You'll need to be able to discuss engineering architecture and make decisions relating to efficiency, scalability, and performance.
So if you have any experience in designing systems, or related experience, make sure it’s prominent on your resume.
2.5 Domain knowledge
Recruiters want to get a sense of your knowledge across different areas and technologies.
If you don't have much work experience yet, include personal projects as a way to demonstrate domain knowledge.
Right, let's see some example resumes.
3. 9 SWE resume examples that worked for Google, Amazon, etc.↑
Before we start guiding you on how to write your software engineer resume step-by-step, take a look at some real examples that got their owners interviews at the very top companies.
You'll notice they follow different formats, and none fully follow the guidelines we set out below. We think this shows two things:
- There are many acceptable ways to write a resume
- Your resume doesn't have to be perfect, as long as it demonstrates your skills and achievements effectively.
Let's take a look
3.1 Google software engineer resume example (fresher)
This is a great example of a strong fresher software engineer resume. It got "Ana" interviews at Google despite having almost no professional experience.
Here's what Ana does well on this resume:
- Education first: Ana doesn't have much work experience so she starts with Education, detailing specific topics in both her undergraduate and Masters courses.
- Projects: As a fresher candidate, Ana does well to list some relevant Projects to fill the gap where more experienced candidates would list recent employment.
3.2 Amazon senior software development engineer resume example
The candidate, let's call him "Sunil", got interviews for a Senior Software Development Engineer role at Amazon with this resume.
Here's our feedback on this resume:
- Experience: We had to blank them out, but Sunil had worked for some really top tech companies. This is what makes the resume really strong.
- Quantifying impact: Sunil could perhaps enhance his resume by better quantifying his actions and demonstrating their impact. For example, he says he "Revised Telemetry dashboards to improve signal-noise ratio". How much did he improve it? Including specific metrics more often would take this resume to the next level.
- Key skills: Sunil lists key skills and tools that were likely listed as requirements in the job description. This makes a recruiter's life easier.
3.3 Google software engineer resume example (front-end developer)
The resume below is from "Lana". It got her interviews for a front-end developer role at Google.
- Skills: Lana lists her relevant hard skills in a way that's very easy for a recruiter to understand at a glance.
- Languages: Don't make the mistake of thinking languages aren't relevant for a technical job. Lana's five languages signal that she's a strong communicator and helped her get an interview.
- Impact: Lana doesn't include examples of impact and results that she's achieved at work. Doing so would have greatly improved this resume.
3.4 Crunchyroll software engineer resume example (Android developer)
This resume got "Sam" interviews at CrunchyRoll for a senior Android developer position.
Here's what we liked about Sam's resume:
- Structure: Sam lists his technical skills, including programming languages, at the top.
- Impact: His work achievements are mostly well-quantified, e.g. 'increasing... downloads by 80% in 2 months."
- Action verbs: He always starts the bullet point with powerful action verbs such as "Created", "Designed", "Fixed", etc.
3.5 Audible software engineer resume example (iOS)
The below resume belongs to "Jerry", an iOS engineer who at the time of writing was interviewing at Audible.
Here’s our feedback on Jerry’s resume:
- Structure: Jerry lists all coding languages, tools, frameworks, and certifications in a separate section. The easy-to-read format catches the eye.
- Impact: The resume starts with a quick description of his highest educational attainment (master’s degree) and his biggest achievement to date.
3.6 Dropbox software engineer resume example (full-stack)
Here are a few details that make Casey’s resume stand out:
- Structure: Casey starts off her resume with a whole bullet point section for her core qualifications. At the side, she has a well-organized skills section detailing her languages, framework, and tools.
- Detailed but easy to read: Casey’s descriptions of her professional experiences are highly detailed, but they’s easy to read and digest. One reason is that that she uses action verbs and she makes sure to include achievements that are quantifiable.
- Advocacy: In her latest role, she includes successfully spearheading a group with an advocacy that’s close to her heart. This shows not just her effective leadership but also that she is someone who aims to positively impact the company culture.
3.7 Amazon software development engineer resume example
- Structure: Sanju resume has a clear and easy-to-read structure.
- Quantified impact: His roles and even his extracurricular achievements include numbers that indicate his success.
- Academic achievements: He makes sure to include his projects, publications, and certifications. They show that he’s always keen to learn and broaden his knowledge and expertise.
3.8 Director of engineering resume example
Apart from his extensive professional experience, here are some of the things that make Larry’s resume outstanding:
- Career highlights: Aside from listing his core competencies, Larry dedicates a section to his career highlights, quantifying his achievements where necessary.
- Relevant information only: Larry keeps his resume to 2 pages by choosing to go detailed only in his most recent leadership roles. But he does have a short section on his early career, an impressive technical toolkit list, and a mention of a US patent.
- Colleague testimonial: The testimonial is a nice touch. It shows Larry has a good working relationship with former colleagues, something a recruiter will want to know if they’re hiring for a leadership role.
3.9 Google software engineer resume example
- Clear and concise: The first thing you’ll notice about Sahand's resume is it has plenty of negative space. It’s easy on the eyes, but still packed with relevant information.
- Action-oriented: Each bullet point starts with an action verb, showing what he was able to achieve with each role. We do think it could be further improved with metrics, though as it is, it’s pretty impressive.
3.10 Amazon engineering manager resume example
We think what made Sarah’s resume stand out is that it was highly focused on leadership.
- Diversity of leadership experience: She made sure to highlight the roles in which she acted as a leader in an official capacity. She included the methodologies that she used, her domain expertise, and her breadth of experience in various industries.
- Extracurricular leadership: She also included ventures outside her role which further highlighted her leadership, including her various certifications and the extracurricular initiatives she led.
3.11 Amazon senior software development engineer resume example (machine learning)
Right, now you've seen some example resumes, let's look at how you should create yours.
4. Software engineer (SWE) resume template↑
Unlike the examples listed above, this is not a real resume. Instead, it's an amalgamation of the many high-quality SWE/SDE resumes that candidates have shared with us before going on to work at Google, Meta, Amazon, etc.
It belongs to an imaginary mid-level software engineer called Karl, but it can be applied to any role level.
Click here to download this SWE resume template as a PDF.
Click here to open this SWE resume template as a Google doc.
Right, let’s take the first step in building a software engineer resume that's good enough to get into FAANG/MAANG.
5. How to write a software engineer resume (section-by-section)↑
Now that you’ve seen what you should be aiming for with the SWE resume examples we’ve shown, as well as some key tips, let’s go through the resume-building process, step-by-step.
Step 1: Study the target company and job description
Before you start writing or editing your resume, our tip is that you do some research.
Find the job specification, read it thoroughly, and use it to shape your resume in the following ways:
- What type of SWE profile the job description is looking for. Which skills will be most crucial for the role? What are the keywords it's looking for and does your resume contain them in a way that makes sense? Prepare to adapt your resume’s content accordingly.
- Zoom in on a few of the most important responsibilities. Search for specific examples from your past that demonstrate experience in doing the same thing or something very similar. Find the numbers to back it up where possible, so you’re ready to include this information in the work experience section later on.
- Take note of the language. Try to match the specific verbs and phrases used in the job description where appropriate,
- Research the company. For example, imagine you’re targeting an SWE role at Meta. Meta has 5 core values, so you’d want to make sure that your resume transmits these values too. That might mean including a volunteering activity under Interests to show that you like to "build social value." Do the same if you’re applying to Google, Amazon, etc.
Does all this mean you’ll need a different iteration of your resume for every tech job you target? Ideally yes, but there will be a lot of overlap, so usually you’ll only need to make a few strategic edits.
Right, once you’ve done the research, you’ll be ready to start writing.
Step 2: Choose a layout
The design of your resume should have one objective: to convey all the relevant information in a way that is clear, easy to digest, and professional. Use our sample resume as your template, and you’ve already achieved that!
Some people add a second objective: to demonstrate strong design skills in order to stand out from the crowd and impress the recruiter.
However, we recommend treading carefully with this. Recruiters for large companies are unlikely to be impressed by a resume’s design. They’re interested in the content. Some might even be put off by a “creative” or unique design. To avoid this risk, aim to stand out through your resume’s content, not its design.
Keep it clean and simple. And as we’ve noted above, you should avoid including your photo in your resume. This goes against employment and discrimination laws in most countries and is another potential problem for ATS.
Step 3: Choose your sections
There are lots of ways to write a software engineer resume. It’s entirely up to you which exact sections you want to include. We recommend using the following sections for an SWE resume because we know this approach works for companies such as Google, Meta, and Amazon, for both junior and experienced candidates.
- Personal information
- Work experience
- Education
- Awards and leadership
- Additional skills and interests
You may want to tweak the order. For example, if you’ve just graduated or have just a year or two of experience, Google recommends starting with your education section.
Step 4: Start writing
The good news is, you don’t have to get it perfect the first time. A strong resume is usually one that is re-written and tweaked multiple times.
We’ve spoken to tech recruiters to get guidance on how to write up each section. Let’s take a look.
Personal information section
This section is not the place to try and impress. Just make sure you get your key details across as concisely as possible.
DO
- Use a bigger font for your name than for the rest of the section to make it stand out
- Include your name, email address, phone number, city/county you live in, any relocation information or remote work preference
- Ideally, include a link to your LinkedIn profile (or GitHub if you have an engineering background)
DON’T
- Title this section. It’s not necessary, so save the space
- Include a street address - it’s unnecessary and unsafe
- Include a photo, date of birth, or gender, unless specifically requested to do so
- Label each piece of information e.g. “email:”, “tel:”, etc. It’s obvious what they are, so save the space
Work experience section
This is probably the most important part of your resume to get right, and the easiest to get wrong. Many candidates think that their work experience speaks for itself, and simply list their roles and a few of their main responsibilities.
This may work in some cases, but we recommend a much more powerful approach.
Instead of listing responsibilities, you need to talk about actions. This means starting each bullet point with an action verb.
These verbs should relate to the key skills from Section 2 that companies look for in SWE resumes: "Executed," "Unblocked," "Led," and "Delivered" are some good examples of such verbs.
Choosing actions that are relevant to the essential tech skills will help you ensure that your resume contains the keywords that recruiters (and sometimes ATS) will be looking for.
You should also focus on the results of what you did and quantify them as much as possible to highlight the tangible contributions you have made. Ex-Google SVP Lazlo Bock talks about a common method for doing this that you might find helpful, called the “X, Y, Z” formula:
“Accomplished [X] as measured by [Y] by doing [Z]”.
For example, “Decreased server response time by 30% by implementing machine learning implementation”.
Following the X,Y, Z formula is a simple way to make sure you are as specific as possible about your work achievements and quantify them where possible. Let's take a look at some examples:
- "Reduced AWS spending by 15% by designed and implemented resource scaling policies to optimize cloud infrastructure."
- "Improved code quality (40% decrease in post-release bugs Y-on-Y) by implementing a more structured code review system."
- "Reduced server downtime, resulting in 99% server uptime, by deploying automated monitoring tools and establishing proactive alerting system."
Another format that working engineers recommend on Reddit is the CAR method which stands for Challenge - Action - Result. According to this article, the CAR method is a good format to use if you want to bring focus to the challenges you’ve conquered in your career thus far.
You can use the CAR method when looking back on the career highlights that you want to include in your resume, like this:
- Challenge: The application’s load times were significantly impacting user experience and customer satisfaction.
- Action: Analyzed bottlenecks in the codebase and implemented caching strategies, optimized database queries.
- Result: Reduced page load time by 40%, leading to a 20% increase in user retention and a 15% boost in overall app engagement.
And then you can summarize this information as such:
“Improved system performance by identifying code bottlenecks and implementing caching strategies and optimizing database queries resulting in a 40% reduction in page load time, a 20% increase in user retention, and a 15% boost in app engagement."
Don't feel that all your bullet points have to follow the exact X,Y,Z or CAR formula. Both are just really useful mechanisms for making sure you give clear, specific, and quantifiable examples of your impact and the challenges you’ve worked on in your career.
Here are a few more do’s and don’ts:
DO
- Use reverse chronological order, putting most recent employment at the top
- Use present tense verbs (e.g. "Lead, Coordinate, Execute") in your current position (except for completed achievements), and past tense verbs for past positions and completed achievements (e.g. "Led, Coordinated, Executed")
- If you're an engineer, consider including the programming language you used for each project (Google's recommendation)
- Describe your actions and what they achieved
- Include metrics to quantify what your actions achieved where possible
- Study the language of the job description and where appropriate, match it
- Make sure you’ve naturally included several relevant keywords
- Demonstrate a balance of skills
DON’T
- Be shy and humble. Now is not the time!
- Just put your responsibilities
- Be vague
- Go so overboard with numbers that it looks like a math problem. It still needs to be easy to read
- Include lots of buzzwords just for the sake of it
Education section
This section should be extremely concise and clear. Hopefully, your educational achievements can do the talking for you, as all you can really do here is present the necessary information with the right level of detail.
Note that if you have recently graduated and only have internship experiences instead of relevant work experience, this section should follow the Personal Information section. You may also want to go into a bit more detail. Otherwise, you can include it after work experience.
Follow the tips below to make sure you get it just right.
DO
- If you have multiple degrees, you should start your list with your highest level of education first (e.g. your master's degree/PhD)
- For each degree, include the name of the degree, university, and dates in the headline
- List your grades (e.g. GPA) as well as results of other standardized tests you have taken (e.g. SAT, GMAT, etc.) that demonstrate your intellect
- Detail any awards and scholarships you received at the university level and most importantly how competitive they were (e.g. 2 awards for 1,000 students)
- Include tech bootcamps (e.g. General Assembly) and link to your projects on GitHub or any online courses you may have taken (e.g. Udacity) if you don’t have much work experience
DON’T
- Panic if you don't have a degree. You don’t have to have gone to college to get into a FAANG/MAANG company. Instead, put your high school grades and any relevant educational qualifications you gained after school
- Include high school experience if you've already graduated
- Include your thesis / dissertation unless you're a fairly recent graduate, in which case you should summarize the topic in a way that's VERY easy to understand
Awards & Leadership section
We've labelled this section "Awards & Leadership" instead of "Extracurricular" section for two reasons:
- Google uses it as its recommended resume template (see here)
- Extracurricular activities are less important for a technical role like a software engineer
The more experience you have, the easier it should be for you to find two or three strong bullet points that demonstrate leadership (outside your day-to-day work) or awards.
If you haven't won any awards or can't think of any strong leadership examples outside your day-to-day role, then consider leaving this section entirely.
DO
- Put awards in context, e.g. "1st out of 22 applicants"
- Consider leaving this section out if you're lacking content
DON'T
- Use awards from school or university if you graduated more than ten years ago
- Include weaker achievements (e.g "employee of the week") just to fill space
Additional skills & interests section
With a software engineer resume, you need to show that you're adept at using a wide range of tools, methodologies, and technologies. Listing them here can make it easy for a recruiter to quickly check you meet their requirements.
DO
- If you need to save vertical space, list skills in sentences rather than bullets
DON’T
- Include generic, uninteresting things that everyone likes doing, like “watching Netflix” or “hanging out with friends,” as interests
- List basic skills that almost everyone has, such as "Google Docs" or "MS Word"
Step 5: Proofread and get feedback
Don’t skip this step! Use a grammar-checking tool and then proofread until it’s perfect. This is harder than it sounds because multiple reviews and tweaking after the initial proofread can easily create new hard-to-spot errors. The only solution is to proofread again after each tweak.
One thing you’ll need to watch out for is the official spelling of the languages, tools, and frameworks under your skills section. For example, HTML5 and not Html5, SQL and not Sql, etc. Your skills section is an important part of your resume and offers a quick glance at your competency, so you don’t want to mess it up with inconsistent formats and wrong spellings.
We recommend saving your resume as a PDF unless the job description says otherwise. Make sure to check it opens properly (with the correct formatting) on a Mac or PC.
Receiving feedback is also important. Share it with a friend or partner, and they’ll be very likely to see mistakes that you haven’t noticed. Of course, if you can share it with an experienced SWE recruiter / interviewer, that can give you a big advantage over other applicants.
DO
- Proofread from top to bottom and then read it in reverse to check spelling
- If you’ve tweaked it, proofread again before sending
- Check the file opens properly on Mac and PC
- Get feedback on it before sending
DON’T
- Send it with typos. Your resume reflects your attention to detail
Should I put my GitHub link in my resume?↑
As you’ll see in the real software engineer resume examples we’ve included in Section 3, some include their GitHub link while others do not. So it’s safe to say that you don’t necessarily need to include your GitHub link in your SWE resume to get an interview with a top tech company.
It’s up to you to decide whether your GitHub will add value to your application. You need to be objective about this, as with anything you decide to include in your resume.
If you have an old GitHub profile that you haven’t updated in a while, including it in your resume may work against you. It may show bad projects and bad coding practices which you might get judged on, even if they no longer reflect your current skill level.
That being said, having a GitHub signals that you’re passionate about the job. And if you’re a fresher or have less than 5 years of experience, having an active GitHub profile will help show and confirm that you indeed have the skills required.
If you’re second-guessing whether you should put your GitHub profile on your resume, an alternative is to link to an open-source project that you’re most proud of.
And if you want to know how to use GitHub to your benefit, check out this article on how to use GitHub to strengthen your resume.
6. Your software engineer resume checklist↑
Almost ready to send your SWE resume? Use this checklist to make sure you’re following the best practices we’ve recommended above.
If you can answer “Yes” to every question, then you’re ready to hit "Apply" or upload it to a popular technical jobs site.
General
- Does your resume present you as the type of candidate the job description is looking for?
Layout
- Is it just one page? If not, do you have the experience to merit 2 pages?
- Is the formatting 100% consistent and neat?
- Is there enough white space to breathe?
Personal Information
- Have you checked your contact details are correct?
- If you're an engineer, have you listed your programming languages?
Work Experience
- Have you talked about your actions rather than your responsibilities?
- Have you quantified the impact of your actions?
- Have you demonstrated a range of relevant skills?
Awards & Leadership
- If you graduated >10 years ago, are your examples post-university?
Skills & Interests
- Have you listed all the programming languages and relevant tools you’re familiar with?
- Do your interests make you stand out from the crowd in some way?
Proofreading and feedback
- Have you proofread it since you last edited it?
- Have you received any feedback on your resume and updated it?
- Have you saved it as a PDF to make sure it displays correctly on all devices?
Did you say “Yes” to every question? Well done! If you’ve used all the tips in this article, then your resume should be in good condition and will give you a fighting chance of getting a job at a big tech company. To increase your chances, read our guide on how to get into big tech companies (FAANG+) for even more tips.
7. Is your SWE resume good enough for FAANG?↑
If you're going for one of the top SWE jobs, having a resume that's fine may not be enough. Getting your SWE resume from fine to outstanding usually requires feedback from someone who really knows their stuff - as in an ex-recruiter or manager at one of the top companies.