Hey there! This article is part of our series on Software Engineering. For even more help and resources, check out our complete Software Engineering Interview Course.
Here at Exponent we’ve reviewed thousands of resumes. Building a stand-out software engineering resume might seem daunting, but armed with our advice, you're well on your way to acing that interview.
Read on for some tips and strategies.
Formatting for a Strong First Impression
Your goal is to position yourself as the ideal candidate for the job you’re after. You want an HR rep and/or a hiring manager to say “yes” to the following:
Can he/she do the job?
Is he/she worth interviewing?
Keep these questions in mind as you go. If you can answer “yes” to both, you’re on track.
Optimize formatting for a six second read-through. Your average hiring manager only spends six seconds on average looking over a resume(!) so you need to create a strong impression quickly. Keep it to a single page unless you’ve got decades of experience, and stick to an easy-to-read font. Times New Roman, Ariel, and Calibri are popular choices. Don’t go any smaller than 10pt font, and leave fair margins (0.5 - 1”.) You may be tempted to use fancy templates with color and graphical elements, but we recommend keeping it clean. Your goal is to draw attention to your accomplishments.
Stick to a chronological format, unless you’re undergoing a major career transition. In that case, a chronological resume might confuse recruiters and you’re better off with a functional format.
Check out this example, courtesy of our co-founder, Jacob.
Header
Your header lists your name and contact information.
Keep it simple. Add your name, email, phone number, and relevant links such as a personal website, a LinkedIn, and/or a GitHub account.
Skip the summary section. Save this valuable real estate for the most important segments - work experience and projects. There are exceptions to this rule: if you’re transitioning from a different career, a succinct summary explaining the reason for your switch and showcasing your passion for software can be helpful. Alternatively, if you’re a brand new grad and you’re struggling to fill the space, you could consider a summary. But we challenge you to reach higher - fill that space with personal projects that will make you shine. More on that below.
Work Experience
This section combined with Projects should make up the bulk of your resume. If you’re a brand new grad, you may want to list education up top, but if you’ve got any relevant experience at all, feature it first. Experience is more important than any degree.
You can check out our guide to writing a data scientist resume as well if you're looking for inspiration on how to tighten up your work experience section.
Brain-dump first. Jot down as many of your past accomplishments as you can. Building a master list now allows you to tailor each resume you send out to the specific job posting.
Choose the best. 3-5 maximum!
Rewrite with action verbs and hard numbers. We like this formula, courtesy of Laszlo Bock, former SVP of People Operations at Google. Present each and every accomplishment as:
Accomplished [X] as measured by [Y] by doing [Z].
In practice, you’ll take standard resume fluff like:
“Redesigned a critical image processing system.”
And rewrite it as:
“Redesigned a critical image processing system for dramatically improved reliability and capacity. The system now processes 8 million assets per day (up from 110,000) and turnaround has improved from six weeks to one day.”
Which caught your attention? This strategy does take up more space on your resume, but remember your goal: you want to convince the hiring manager that you 1) can do the job, and 2) are worth interviewing. By proving your capabilities with enough context to show why you’re such an asset, you’re sure to stand out.
If you’re having trouble getting started, Dice has a great tool for selecting power verbs for your resume by category.
Projects
Not everyone thinks to include a “Projects” section, which is what makes it so powerful. Interesting apps, hardware projects, an interactive website - hiring managers want to see your passion for SWE, and, let’s be honest, reading hundreds of resumes is boring.
Quantity and variety are important. Details, not so much. It’s hard to misstep here as including interesting projects already puts you ahead of the game. Don’t worry about capturing every detail.
Don’t be discouraged if you don’t have passion projects to show yet. Go build it now!As Gayle McDowell, former Google Engineer/Author of Cracking the Coding Interview puts it: “Build some iPhone apps, web apps, whatever! Honestly it doesn’t matter that much what you’re building as long as you’re building something. You can build a fairly meaty project in one weekend. This means that with about 3–4 weekends of work, you can make your resume go from so-so to fantastic. Seriously — I’ve seen lots of people do this.”
Stretch assignments and above-and-beyond school projects count. If you worked on a relevant stretch assignment at a past job/internship, put it down. Anything you’ve worked on “above-and-beyond” explicit expectations at work or school is valid. Be creative!
Education
If you have a degree (and it’s alright if you don’t, given you have the right experience), add it next.
Capture the basics. Your school and degree are the only real requirements. Relevant coursework/other notable accomplishments are okay if you’re a fresh grad, otherwise leave it out.
GPA probably isn’t necessary. GPA requirements are controversial in tech at the moment, and some companies such as Google have eliminated minimum GPAs together. List it if the posting you’re applying to requires it, or if yours is above 3.2 and you’re a new grad. Otherwise, drop it.
Skills
The last section of your resume should summarize your hard skills.
Keep it short. List skills/technical competencies you have, making sure that they mesh with the projects/experience you’ve listed. Don’t use bullet points. It’s a waste of space.
Make sure your skills mesh with the job posting where possible. Your resume will probably go through an online keyword scanner before it hits the hiring manager’s desk. You don’t want to be eliminated because you didn’t use the right terms!
Be selective with soft skills. You’ve probably got more than enough technical skills to try to squeeze in. Soft skills aren’t measurable, so if you’re on the fence, leave them out.
Don’t grade yourself. This is totally subjective - at best you’re wasting space, and at worst you’re selling yourself short trying to provide a complete picture. Let your work speak for itself.
Wrapping Up
Before submitting that shiny new resume, make sure you stop and give it a good once-over. Look at it from a distance, and note what pops out at you. You’ll probably want to make a few edits for flow and to make sure you’re emphasizing the right things. Then go back and read the job description again, put yourself in the hiring manager’s shoes, and try to look at your resume objectively.
Read it out loud, have a friend or family member check for errors, and perhaps take a break. Come back to it later and if it looks good to you, submit! And give yourself a serious pat on the back - you’re well on your way to a rewarding career in Software Engineering.
Once you’ve secured an interview or two (and celebrated accordingly!) head on over to Exponent’s Software Engineering course to get a feel for technical interviews and run through real-world examples.