Purpose of a resume
Resumes should make companies want to interview (and hire) you! In your resume, you should highlight your strongest achievements which differentiates you from the other applicants.
First impression matters. You only have 10-15 seconds to attract recruiters and hiring managers reading your resume, it is the written form of an elevator pitch, where the idea/product you are trying to pitch is yourself. In this limited time and space of one page (usually), you have to provide readers with a summary of your working experience, skills, education and let them see that you are a good fit for the role. That's a challenging task, but not to worry, we are here to help!
How resumes are screened
Resume screening is the first stage in the job interview process. It doesn't matter how strong you are in Software Engineering, Computer Science fundamentals, or how many LeetCode questions you have practiced. If you submit a poorly-written resume that doesn't pass the resume screening stage, you have just ruined your chances of landing a job with the company. Hence it is extremely important to nail this stage by creating a fantastic resume that represents your experience and abilities in the best possible manner.
Recruiters and hiring managers don't have all the time in the world to read through all the resumes they receive, especially at big tech companies who receive thousands of applications each day. They make heavy use of Applicant Tracking Systems (ATS) to track applications and automate the resume screening process. ATS-es rank resumes based on the relevance to the role, it computes how well the experiences/skills listed in a resume matches the key requirements of the role. Modern ATS-es are so advanced that they can parse the contents of your resume, search for specific keywords in your resume, and score your resume based on the weights pre-assigned to each keyword. The higher the score, the higher the resume ranks in the system for the role. This marks the end of the automated stage.
Recruiters then look through the resumes based on the ranking in the ATS. Obviously, higher-ranked resumes get seen first. In general, recruiters do not spend more than 10 seconds reviewing your resume. When recruiters are looking at your resume, recruiters do a keyword match against the skill sets required for a role. These keywords can be from the Work Experience, Skills or Projects section. Bonus points are given if the resume contains notable companies or projects.
However, don't try to game the system by adding too many keywords! Putting too many keywords might make the ATS rank your resume higher, but to humans, it might seem like spam and your resume get chucked away because of "keyword stuffing". Hiring managers have read thousands of resumes and have a good nose for bullshit. Certain keyword pairings don't make a whole lot of sense, such as using Flask (Python-based web framework) and Ruby on Rails (Ruby-based web framework) within a single web application. There has to be a balance between quantity and relevance.
✅ Keep your resume within 2 pages
A resume is meant to highlight your biggest and impressive achievements, it should not be a laundry list of all the things you did at your previous job. Hence for most Software Engineers, their resume should not need to exceed one page.
For Senior Software Engineers who have over a decade of experience, it is possible for the resume to be two pages long. However, note that recruiters and hiring managers do not spend that much time reading each resume, so the content on the second page might never be seen at all. If your resume exceeds a page, put the more important things on the first page.
✅ Prioritize important and relevant experiences
Many people have years of experience doing interesting things, but not all of them are relevant or important enough to be mentioned. If you're going for an Android Software Engineer position, there's less value in listing your Artificial Intelligence side projects if you have other mobile projects which are more relevant to the role.
You also do not have to include everything you've done before. Omit your extracurricular activities (e.g. tennis club. karate competition awards) unless they are relevant to tech (e.g. hacker club, hackathon organizer) and you have enough space to add them.
✅ Reverse chronological
Because the most recent experiences are more relevant, the items in each section of your resume should be listed in reverse chronological order, with more emphasis on the recent experiences. Recent experiences should have more content than the oldest items.
Humans are visual creatures and with recruiters only spending 10 seconds on glancing through a resume, you should make sure that your resume is readable and visually pleasing. If you make it too hard to read, your readers who have hundreds more resumes to go through, will just skip over your resume.
- Use a font size between 10px to 12px. Don't set the font size to be too small (unreadable) or too large (you might lack the space to fit everything in a page).
- Use the same font throughout. Some resumes use a different font for the title but unless you are a designer this might end up making the resume look worse. Using the same font is the safest way.
- Use a readable and common font. Arial, Calibri, Georgia, Helvetica, Roboto, are safe choices. Boring is a feature, not a bug.
Clear visual hierarchy
Ensure a clear visual hierarchy by using alternative styling for section titles and allowing sufficient spacing between each section. The hierarchy should look as such if you look at the "Outline" section of a Google Doc/Microsoft Word resume:
- Contact Information
- First Section (Work Experience/Projects/Skills/etc)
- Organization + Position/Project Name
- Next Organization + Position/Project Name
- Next Section
Use a consistent date format throughout. We recommend "MMM YYYY", e.g. "Apr 2023".
❌ Spelling and grammatical mistakes
A resume is at most two pages long. What does it say about how careful a person is if their one-page resume has spelling and grammatical mistakes? Can I trust this person to write software which is arguably much larger and complex?
Avoid spelling errors and typos by using the spellcheck features within Google Docs or Microsoft Word. If you're using LaTeX and write your resume in an IDE like VS Code, the Code Spell Checker Extension works really well.
❌ Using design software to create the resume
As a Software Engineer, your resume doesn't need to be fancy. Google Doc, Microsoft Word, or LaTeX is more than sufficient to create a neat and attractive resume (Tip: use our Resume Templates).
Do not use any design software like Figma or Photoshop because your resulting resume is an image and Application Tracking Softwares (ATS) will not able to parse it.
❌ Using acronyms without explaining what they are
Avoid using acronyms, spell out in full, at least for the first occurrence of the term. Amazon Web Services vs AWS.
❌ Don't include a references section
Reference checks are usually only done at the offer stage. Companies will ask if they require you to provide this.
❌ Don't include personal pronouns
Don't use words like "I", "me", "we", "our", etc. The resume is about you and you alone, and you convey the same meaning by removing this pronouns in your sentence. These words filler words and don't add much value.
Use these power verbs
Start your points with "Power verbs" to efficiently convey the nature of your contribution.
Use these power verbs throughout your resume to explain your contributions and impact, especially for the Work Experience and Projects section. The Technical section is especially relevant to Software Engineers and Leadership section is relevant to managers, tech leads, or anyone who was in a leadership position.
|Communication||Aided, Advised, Clarified, Collaborated, Coordinated, Formulated, Influenced, Mediated, Resolved, Suggested|
|Creative||Conceptualized, Created, Designed, Developed, Generated, Improvised, Integrated, Performed, Planned, Visualized|
|Organization||Achieved, Acquired, Assigned, Coordinated, Delegated, Developed, Established, Evaluated, Organized, Planned, Prepared, Prioritized|
|Leadership||Coordinated, Designated, Directed, Drove, Established, Executed, Facilitated, Handled, Headed, Improved, Influenced, Initiated, Led, Managed, Organized, Overhauled, Oversaw, Planned, Prioritized, Recognized, Represented, Reviewed|
|Research||Collected, Computed, Conducted, Critiqued, Diagnosed, Evaluated, Examined, Experimented, Identified, Inspected, Investigated, Monitored, Reviewed, Tested|
|Service||Advised, Coached, Coordinated, Demonstrated, Mentored, Provided|
|Teaching||Advised, Clarified, Coached, Evaluated, Inspired, Supported, Taught, Trained|
|Technical||Architected, Assembled, Built, Constructed, Designed, Developed, Engineered, Enhanced, Implemented, Improved, Increased, Operated, Programmed, Repaired, Restored, Standardized, Upgraded, Utilized|
Software Engineer Resume References and Handbook package
- Full access to Resume Handbook
- 3x Resume templates
- 3x Resume references
- 1x Cover letter template
- Full access to Resume Checklist
- Lifetime access to our resume portal where you can download your purchased materials
- Free updates