When trying to land a software engineer or related job, a Resume is that one piece of paper that can make or break your application – especially for entry-level software engineer roles. So, it’s critical to put some sincere effort into writing the perfect software engineer resume that catches the eye of recruiters, hiring managers, or even scan bots alike.
But, the catch is that there’s no such thing as a perfect resume – what works with one company or role may fail to make the cut off at another.
However, I can guide you on how to write an optimal resume based on my experience from both sides – as a student seeking my dream software engineering job and also as a Tinder/Microsoft employee screening/interviewing candidates for software engineering roles.
Below is the résumé from my second year of Masters in CS from USC that got me interviews with several top-tier tech companies like Google, Microsoft, Facebook, Amazon, Yahoo, Tinder, Snapchat, LinkedIn, and many more.
I will be using it as a reference to help you write a killer software engineering resume.
5 Important Sections Of A Software Engineer Resume
While the format can vary, a good software engineer resume should have a clear narrative and must contain some standard information for which it is usually screened.
A one-page resume with no smaller than 10 to 11 font-size is highly encouraged, which means you cannot just spill information.
Lets start by filling in these 5 important sections of your resume.
- Add your name, contact number, email, and address.
- A photograph is NOT needed but you may add. Remember content is more important than aesthetics for a software engineering role!
- Add links to your portfolios – Website, LinkedIn, Github, etc.
2. Education
- List your university name, degree, and timeline.
- Specify your GPA. If your GPA is low, you should skip it to avoid getting flagged by online screening bots. That said, GPA alone does not really matter for most companies.
- Include your coursework only when it’s very specific to the job niche. In most cases, you should save that space – maybe use it to include another project.
3. Technical Skills
- Keep this section ~ 60% focused on the job niche, and rest can be generic.
- List your programming skills. Try to include some of the widely used and popular languages like Java/C#, Python, Javascript, C/C++ – only if you know it!
- List industry-standard libraries/frameworks that you are familiar with – OpenCV, React, Tensorflow, RxJava, etc.
- List popular development/SDL tools that you have used – IntelliJ, Matlab, Tableau, XCode, Jira, SVN(s), etc.
- Optionally, list the cloud services (PaaS, IaaS) – AWS, OpenShift, Azure, Heroku, etc.
4. Work Experience
- Starting with the most recent experience, list all your internships and full-time jobs (typically not more than 5).
- Include your job title/role and timeline.
- Describe your key tasks by creating ~ 2-3 bullet points for each company instead of adding a very long paragraph.
5. Projects
- List all projects that are most relevant to the job description.
- Add project name and a brief summary.
Note:
- I added another section “Hackathons” to highlight my top hackathon projects and wins – companies often dig your passion to build projects outside your academics. But, you can also add them under the “Projects” section.
- A section for “Objective“ is NOT needed – it will just waste valuable space. Instead, attach a cover letter to your application.
11 Tips To Make Your Software Engineer Resume Stand Out
Once you have added these sections and basic information, you have a resume ready – but it’s nowhere close to optimal yet!
Use the following tips to make your resume shine!
1. Know Your Niche
When applying for software engineering jobs, it’s important to first know the specific job role or domain that you are targeting so that you can tailor the resume towards it – Data Scientist, Android/iOS Developer, Backend Developer, Web Developer, etc.
In my Resume above, you will notice that I focused on Android/Web development but it also works for generic software engineering roles.
2. Keep It Crisp
Your resume needs to be strictly one page! DO NOT write big paragraphs as nobody is going to read it. The initial scan of a resume is only for an average of 10-15 seconds – this is the time when the fate of your application moving forward is decided.
You want to catch the recruiter’s attention by popping out content that is most relevant to the job position. Use bold and italics but don’t overdo it – you don’t want your highlights to compete with each other.
3. Highlight Project(s) That Stand Out From Competition
I can’t stress enough the importance of building projects that stand out from the rest of the pack – something other than your academic projects.
This is very important especially when you are pitching yourself with a Resume at a Career fair or when a technical manager screens your Resume online.
Now, if you look at my resume, I highlighted just one important detail in my projects section – “over 1.5 million downloads”. And trust me, that was crucial in landing me tons of interviews, both from career fairs and online application.
If you don’t have any project like that yet, then it’s okay to highlight your top academic project relevant to the job role. But, if you are really motivated to land interviews from top tech giants and startups, leave a placeholder and go work towards building that one special project that catches the attention of technical recruiters.
4. Add Measurable Data To Your Projects Summary
Earlier, I suggested not to write big paragraphs in your projects or job description. But, that doesn’t mean you should skip the important details.
Here’s one good way to include valuable impact in a single line:
Accomplished [X] as measured by [Y] by doing [Z]
Laszlo Bock, former Google SVP of People Operations
For example, [reduced the latency of XYZ service] [by 15%][by using distributed caching].
You can also include statistics to back up your impact. Like, I did with “over 1.5 million downloads” and also in the example below.
5. Add Keywords
Often companies and recruiters (using Linkedin search) scan for keywords in your resume/profile to gauge a potential job fit.
So, make sure you list the programming languages, frameworks, or tools that might be relevant. For example, I added RxJava and Retrofit to screen better for Android Development roles.
But, don’t overdo it as you need just 1 hit, not 10 hits of a particular keyword.
6. Add Links To Important Portfolios
The header or footer of your resume must include links to your LinkedIn, Github, and your own website (I recommend you make a landing page if you haven’t already).
Also, do your due diligence to complete these profiles – LinkedIn and Github are the new software engineer resume!
7. Formatting & Grammar
The readability of a resume is more important than one would think. Use consistent layout and font in your resume and try to avoid spelling/grammar mistakes. You can use a tool like Grammarly to check your sentences for correctness.
8. Proofread Your Resume
Proofread! Proofread! Proofread! You will be surprised by what proofreads can do to your resume. Don’t be shy and ask your friends, seniors, or even someone in your family to provide constructive feedback on your resume and also keep an eye on formatting/grammar.
9. Iterate On Your Resume
Resume building is not something you do once and forget. You have to often revisit your resume based on the response from companies. Analyze what might or might not be working for you and make the necessary changes.
10. Make Multiple Copies If Needed
When you are applying for multiple roles/domains, don’t be lazy and use the same resume for all of them.
You will notice that my resume is focused on Android/Web development as that was the primary role I was seeking back then. But, I had another resume suited for backend/full-stack roles where I replaced a few frontend projects with backend ones and changed a few keywords, especially in the “Technical Skills” section.
11. Refer To Successful Samples
You will find a lot of good resumes on the internet but, refer to the success stories around you. You can easily dig their resume from their LinkedIn profile, or website.
Also, here’s a pdf copy of my Resume that we have been discussing.
Software engineers are in demand – thanks to the digitalization of all sectors and continued technological revolution. But, just because you hold a Computer Science (or related degree) and know how to design a software system or write a recommendation engine, the job won’t just walk up to you.
You will need a killer software engineer resume to stand out amongst your competitors! Hopefully, you will have one now!
Also, don’t wait for interview calls to line up to start your coding interview preparation, both should happen in parallel! Here’s my take on How To Approach Coding Interview Questions that made me a lot more confident in solving any coding problem during interviews.
In case you have any further queries pertaining to the Resume building tips above, please drop them in the comments section below and I’ll try to respond ASAP.
2 Comments
Shalmali
June 14, 2020 at 9:13 amHello,
Wanted to know if USC allows 6 month internship in last semester, apart from summer internship, since you have done it at Tinder?
Ankur Khemani
June 14, 2020 at 1:32 pmYes it does under CPT and uses up 1 credit.
https://viterbigrad.usc.edu/cpt/