Software Engineer Resume (CV): The Definitive Guide (Updated for 2021)

While the debate still continues regarding the long term future of the “resume”, it’s still one of the most important documents to get right if you want to secure that next big job interview. The problem is that creating the perfect resume can be a time consuming and frustrating process. That’s why we created this intuitive guide that’s driven by interviews with hiring managers at companies like Google, Canva, Macquarie Bank and expert advice from Onset’s specialise, Software Engineering recruitment team. Before we get started, if you are looking to build or rebuild your CV, check out this Professional Software Engineer template by Canva. Here’s everything you need to know to quickly create a great Software Engineer resume. Let’s get started.

Choosing “The Right” Style:

How you structure your resume will depend on the depth of your work experience. Here are a few different styles to consider: Chronological: Listing work history in reverse chronological order can be beneficial for longer-term employees who want to emphasise a steady history of relevant employment. (It’s also way easier to read!)
ONSET TIP: If you have gaps in your resume between roles, explain this clearly. IE – maternity/paternity leave, travel, study etc. This helps the reader build a clear picture of your history. Functional: A functional resume will organise your work history by highlighting key skills and achievements and is ideal for applicants without an extensive working history, those who only have entry-level roles or recent graduates looking to break into the software engineering industry.
Hybrid: A hybrid resume combines both the chronological and functional resume style and can be helpful for mid-level roles that require a combination of employment history, specific skills and achievements.
Regardless of the style you choose, your resume should include sections that address your educational history, type of work experience, relevant skills, past projects, and if really interesting, some hobbies. This video has some great details on what a winning software engineer resume from Google looks like. This post is sponsored by our partners Wigs You can also download his resume here.

How To Keep It Short And Clean:

If there’s one thing you take from this guide, remember this: Keep your resume brief and relevant.
The best code is clean and simple and it’s the same thing with a resume – the best ones are easy to read, easy to maintain and easy to present. It’s safe to say the best software engineers will have the cleanest resumes to read. –  Sean McCartan (Software Engineering Practice Lead), The Onset
Software engineer jobs can receive hundreds of resumes and the biggest mistake we see at The Onset is when an applicant’s relevant experience is diluted by a heap of information around it. A ten-page long resume that goes into detail about every small-scale job or piece of technology used in the last 20 years will likely bore the reader and dilute your essential strengths. It’s also important to understand the nature of the role you’re applying for and the type of company, and be as concise as you can. Stick to hard and fast facts about your skills and avoid redundant statements that cannot be backed up by immediate evidence such as ‘I work well individually and in a team’. Also, avoid listing fundamental skills such as ‘I can work with Excel Spreadsheets.’ Hiring Manager Tip: Avoid distracting designs or imagery and make sure your resume is readable, with consistent fonts and sizes that are easily compatible across browsers (your safest bet is Arial or Times New Roman).

The Basics:

At the beginning of your resume, don’t forget to clearly state your full name and contact details (email, mobile number) in the top header of your resume. There is no need for your full address, but a suburb helps identify your viability to work in certain locations. Help the reader by including a visible link to your online portfolio, LinkedIn account (make sure your URL works!) or Github account. We’ll fill you in on the best way to present your Github in your resume a little later. When listing previous workplaces, adopt a consistent structure that helps the reader keep on track. Remember, if you use one formatting style, it’s best to stick with it throughout the entire resume. For each employer, include the dates (MM/YY started – MM/YY ended), title and company. It can help to include a URL or a one line description of a company, especially for lesser-known businesses. Check out this example below (Don’t copy the ‘about us’ page and rattle it off on your resume – yes, this still actually happens):
This video gives hands-on advice on how to reformat your resume and make it easy and enjoyable to read.

Do You Need A Summary?

Let’s keep this one simple; no, not really, especially if all you plan to do is tell everyone how wonderful you are – that’s what an interview is for. If you feel the need to high your career in a short summary, make it relevant and try not to use a bunch of overly descriptive verbs. Matching up your summary to your LinkedIn profile also helps keep consistency, as pretty much everyone will check out your online profile to make sure it aligns with your resume. Here’s an example of a succinct and effective career summary:
Don’t just submit the same resume to every employer. This is your calling card, and you have to mold it to the specifications of the job you’re applying for. If you internalize exactly what an employer wants from a job posting, and show in your resume how your skills match what they’re looking for, you’ll be ahead of the pack. Be honest, sensible and creative with your experience, but never lie. 1. Familiarise yourself with an advertised job: Read the job ad carefully to identify keywords or skills that seem most important to the role.Including the right keywords and skills that a company is looking for on your resume will help you stand out from the hundreds of applicants a job ad may attract.For example, here’s a recent job ad for a software engineer posted by an Australian airline. You’ll have:
  • Demonstrable experience developing back end services (microservices architecture preferable)
  • Experience developing web applications using modern JavaScript frameworks ( React preferable)
  • Some Experience with cloud computing (AWS preferable)
  • Understand the value of simplicity and know how to write maintainable, clean code that adheres to standards
  • An understanding/knowledge working within an agile environment
  • Ideally have an understanding using any two of the following: Java, React, Golang, Python, Angular or Node
  • Have a relevant Degree/Qualification or 4+ years experience.
By analysing the job description closely, it’s apparent that hiring staff at this airline will be looking for key phrases and words such as ‘microservices architecture, ‘cloud computing, ‘React’, and ‘web applications’. If you are applying for a front-end role, hiring managers will automatically look for key skills such as ‘Angular’, ‘React’, ‘Vue’ compared to full stack or backend roles that may mention languages like C# or Java. 2. Be intentional:  The words, technologies and programming languages you include should help the reader boost his or her confidence in your area/s of expertise.When crafting each line of your resume, don’t forget that the employer isn’t only looking for key skills such as writing code or designing a web interface, rather they’re looking for clues that indicate your understanding of how the codes and systems work, and your ability to work with an unfamiliar code or debug systems promptly. For example, if you are including Java as a key skill, emphasise the point by listing Java-related technologies and frameworks you’ve worked with such as Spring, Springboot and Hibernate, where relevant.Since Java is a robust, high-performance language, being specific about the types of environments you’ve worked with (scalable/concurrent or monolithic/multithreaded) will help demonstrate the breadth and depth of your skills.Think of each tool as an opportunity to elaborate on your skill set. If you have worked with data-heavy environments, complement your skills by listing your experience with object-oriented programming languages such as Python and Scala. This resume below shows how you can organise and structure multiple skill sets into a cohesive resume:
3. Don’t neglect the obvious: When non-specialist hiring managers are tasked with finding a software engineer, they may be looking for more general skills to identify a winning candidate.Here’s a checklist of general skills to weave into your resume (if you have them of course!):
  • Proficiency in either computer science, computer programming, data structures or algorithms.
  • An understanding of software design best practices.
  • Ability to quickly learn and reverse engineer code (software engineers should be able to work off programs or codes written by other developers and will need to be able to create, read, update, and destroy web applications).
  • Confidence in writing algorithms.
  • Capabilities in similar disciplines (where relevant, include knowledge of database administration, UX/UI design or search engine optimisation).
  • Strong knowledge of fundamentals – Functional programming, data structures and algorithmic programming
Hiring Manager Tip: As former Google tech lead Francois points out, good software engineers are curious. Showing you are a curious person by highlighting supplementary skills like UX/UI design or SEO will help lift your resume to the front of the pile. Understanding your user and how your work impacts the end user is becoming a very important trait for all good engineers. 4. Make it relevant:  It is increasingly important for people to have a holistic understanding of how entire systems work.Software engineers can no longer just know how to code an app.Now, it’s crucial to demonstrate that you know how a particular application or code will interact in a specific environment and infrastructure.As a rule of thumb, whenever you list main tech skills, also reference relevant peripheral tech skills.Listing relevant tech can usually indicate a deep level of interest or mastery of a specific tool/language.
For example, React has a large ecosystem of tools and component libraries and referencing some of the best tools and resources immediately says a lot about your skill set. When listing Python on your resume, consider how you can demonstrate conceptual knowledge by mentioning web or big data frameworks such as (Django, Flask, Spark, Tensor flow, Hadoop, Pandas, etc). Check out how this resume effectively organises technological capacity in accordance with key languages.
Hiring Manager Tip: As you mention your skills, avoid ratings such as ‘proficient’, ‘expert’ or ‘novice’. Don’t rank your own competence in different skills and technologies unless you are using a universal grading system. Bottom line: Show don’t tell.
Think of your resume as a story you’re hoping to have stick in the reader’s mind. In your resume you are the main character so consider highlighting the interesting parts of your career story. Here are some stories you can lean into:
  • The Leader: If you’ve been working in smaller teams, it may indicate that you’ve made a larger contribution.Where possible, highlight the level of leadership and responsibility you’ve had on a project and draw attention to the size of the team.
  • The Innovator: If your past projects have involved new technology such as artificial intelligence or blockchain, emphasise an innovative and forward-thinking narrative throughout your resume.
  • The Performer: As a short-term contractor, you might demonstrate consistency by specifying that your role was extended due to high performance.
  • The Learner: Concerned about having too many jobs on your resume? Emphasise the completion of projects before each exit and describe each job move as a desire to learn new skills and complete new challenges
Ultimately, different kinds of businesses will resonate with different narratives so determine how you can tell your career story to best fit your unique audience: the employer/hiring manager. For example, digital agencies require employees to move quickly, and get projects out the door. As a result, agencies will likely scan resumes to find people who are good at keeping clients happy and staying on top of deadlines. You could lean into your role as the “The Performer” in order to give yourself a leg up with a digital agency. Product/platform businesses like Ebay, Canva or are more likely to look for software engineers that are quality-driven and committed to high standards. “The Leader” or “The Innovator” could be helpful career stories with platform businesses. P.s. We’re here to help – If you need guidance on your resume, you can book in a 20-minute slot with our consultants to get some feedback here. (no strings attached)
Outlining your history of employment is straightforward but making sure it’s relevant and presented in the best light is what sets apart an average resume from an exceptional one. The best software engineer resumes will help an employer understand how a previous project or workplace ties into the position they’re hiring for. Regardless of the depth of your experience, ensure your employment history features a few bullet points or sentences about key skills and achievements to demonstrate more than just the responsibilities of the role. The primary goal of your employment section should be to demonstrate the impact and value of your time at a former workplace. Here are some tips: 1. Results: Add accomplishment-driven statements, metrics and numbers to help indicate the success and value of your past roles. Consider how your actions drove key accomplishments in the business.If you can concretely show you made sales, engagement or user retention improvement for a past employer, this will help your application tremendously. Here’s how you can do that:
  • Rather than generic statements or simply stating your involvement in the launch of a new mobile application, explain the results of your involvement – did it improve customer retention by ten fold? How many new downloads did it attract? Did it improve the cost efficiency of your business?
  • Get specific with the accomplishments. For example, a top tier resume for a senior software engineer resume states the following achievement: “Reduced time to render {company name} home page by 20% by preloading customer profile and pre-fetching static resources on login page and optimising web and app tier C# code.Reduced time to render the transaction history page by 50% by replacing legacy blocking request with Ajax request and relocating the request to different virtual directories, and collapsing multiple backend requests into single requestReduced production exception by 40% over two releases by proactively monitoring/analysing {company name} logs using SplunkPerformed fortnightly presentation to {company name} product owner and platform management team on performance and resilience issues.”
  • One way to incorporate this information into your resume is to list these results in a ‘key achievements’ section:
2. Projects: With every line of employment history, the most successful resumes include a proof of concept (POC) that references actual achievements or ownership of a project. One of the main questions on every hiring manager’s mind is ‘what has this applicant delivered and done? ’This makes it essential to highlight two to three projects that you can confidently explain. A POC is more than the written code or programming language used. It demonstrates the processes and best practices that have been used to achieve key results. Deep dive into a project by helping employers understand your concrete responsibilities. Here’s an example below:
For positions of seniority, it helps to refer to the actual ownership of a project you’ve completed or been involved with. Specify what you did versus what the team did. Hiring managers are looking for evidence of projects that you have started and completed. Owning a project from start to finish shows that you (probably) get all elements of the PDLC or SDLC and have worked with different functions. 3. Passion projects:
Personal projects and freelancing work is reflective of someone’s passion. It’s not about hiring people who can simply churn out code, but finding people who can deliver quality, well-written, well-tested and maintainable code.” — Sean McCartan (Software Engineering Practice Lead), The Onset
An ambitious personal project can show your future employer your initiative, dedication and passion to learning and building a software solution. It’s OK if you don’t have any on your resume, but if you do, it could help set you apart. Whether your personal project is a Python script, a mobile application, or a Java map, it can be a beneficial way to demonstrate real world skills in a non-work context. It also shows a general passion and curiosity that employers value. You can display these past projects or work through an online portfolio. 4. Featuring your Github: One easy to use, well-documented project will be more effective than several projects which are difficult to navigate or half-completed. One easy to use, well-documented project will be more effective than several projects which are difficult to navigate or half-completed. This video goes into more detail on how to best format your Github projects.
1. How to flex your education: If you have it (and it’s often okay if you don’t), listing relevant education is crucial in any Software Engineer’s resume as a career in software engineering will generally require at least a Bachelor’s Degree or relevant vendor certification. Usually, software engineers will have an educational background in computer programming or computer science, with majors in software engineering. There are tons of branches of software engineering that can result in different academic trajectories and specialisations – courses can focus on various types of programming languages or go into topics such as project management, web security or coding. If you don’t have a relevant degree, don’t fret. Examples of self-learning and continuous learning can often take the place of a traditional Bachelor’s degree. Examples of this could be online courses with sites like TreehouseGeneral AssemblyCode School, or Udacity.
“I don’t care what the degree is in – the fact that someone went to university to study something interesting is a good indicator but that’s as far as I’d go. There is value in being educated but this can also be in the form of self-education.” — Francois
Just remember to clearly highlight continuous learning on your resume. (Be selective, don’t list every course, bootcamp or meetup you’ve attended,) Demonstrate your competence in software engineering by shining a light on any ad hoc or self-taught learning that sets you apart. For example, if you have completed a bootcamp or course in technical skills such as Java, PHP or C#, add this to your qualifications. 2. Leaning into your specialisation: As technological areas like virtual reality, artificial intelligence, and big data constantly evolve, it helps to distinguish an area/s of expertise in your resume. If you have a specialization, lean into it. This can help employers put their confidence in specific parts of your skills and be more sure that you are an appropriate fit. Here are some example of areas of specialisation in software engineering:
  • Games and entertainment systems: Designing applications or software that can be used in games
  • Digital or embedded systems: Software engineers can specialise in computer systems that have a dedicated functions in a larger mechanical or electrical system
  • Modelling and simulation: Designing or maintaining applications which simulate specific processes to reduce the need for costly testing
  • Networking and distributed systems: Skills involving expertise in network architecture, application layers and network security
  • Product and/or Project management: Being responsible for the management of teammates and ensuring a product or project is adequately completed/built/prototyped.
Along with specialisations, don’t hesitate to include other related experiences. Software engineering is closely aligned to job titles such as Software Programmer, Software Developer, Software Designer, Php developer and more. As long as you’re able to draw correlations in skillsets and demonstrate the relevance of the type of work, it can be helpful to highlight other related jobs you’ve held. 3. Don’t forget the soft skills: ‘Soft skills’ refer to character traits, social skills or personality traits that help you relate on an interpersonal level.Soft skills may not be as easily quantifiable as ‘hard skills’ (years of experience, name of degree) but they are often just as important to an employer. To help with their day-to-day roles, software engineers need a balance of hard and soft skills such as proactivity and resilience. Despite popular misconceptions, software engineering is highly creative – it involves designing and building functions and systems that often never existed before. This creativity often comes hand in hand with collaboration and it’s important that software engineers can work well with others. Communication, collaboration and creativity are increasingly becoming winning traits for software engineers, so these qualities should be front and center on your resume. Francois, has come across plenty of software engineer resumes with a wide range of technical skills but according to the former Google tech lead, empathy is a crucial skill hiring managers look for.
A good software engineer will be both technically skilled but also understanding of other people’s points of view by being constructive and helpful in how they interact with others. There’ll be a lot of opinions and conflict in software engineering so you need to be constructive to understand their concerns. This is an important skill.” — Francois
Here are some other soft skills you could incorporate into your resume:
  • A continuous learning attitude: This can be shown through a Github account, leadership or engagement in meetups or involvement in the C# community, for example.
  • Innovation and forward-thinking approach: This can be difficult to convey in a resume but if you haven’t been able to work with emerging technologies in your job, demonstrate this in projects you’ve worked on outside of your work or mention involvement with new technologies such as blockchain or AI.
  • Presentation ability or influencing skills: This can be shown through leading regular standups with other team members, presentations of past work or organising meetups.
This video breaks down some of the most important soft skills for software engineers to have. 4. How to highlight your working methodology It can be an impressive resume addition to mention specific ways of working that you’re comfortable or familiar working with.In particular, the ‘agile’ methodology can be appealing for tech-based companies that rely on rapid iterations and sustainable development. Software engineers who want to work in a tech-based environment need to demonstrate their ability to work seamlessly with product teams and developers that operate in an agile framework.If you’re well-versed in ‘agile’ development, make sure to mention this in your resume. Remember:  For senior roles, hiring managers will look for people that have worked in more complex and challenging environments – if you have been working with the same technologies and within the same environment, it may be time to look out for something more challenging and expand your main skill sets into other areas of development. If you’re interested in front end, get more UI experience and work with javascript, or if you’re interested in architecture, get involved in projects with heavy infrastructure. We hope this guide answered your questions and will help you craft a new, winning resume. If you’d like us to take a look at your resume and give you some feedback, you can book in a time with one of our consultants. Is there something we missed? A question you still have? Leave a comment below!
What our clients say

“Ronny & the Onset Group helped us scale our team in the early stages of our growth, finding a number of talented engineering candidates to join our Development team. The Onset Group are highly professional and a pleasure to work with.”

Georgia Punch
HR & Operations

“We have been working with the Onset Group for the past few years, helping us secure both contract and permanent staff across multiple technical areas. They always ensure they have our business’ needs in mind and it’s great working with a partner that truly understands the technical space that we are in. Of all of the recruiters I have met or worked with over the years, I couldn’t recommend this group any more.”

Paul Madani
Head of Data and Technology

“IPG Mediabrands have built a solid, trusting working relationship with the Onset Group over the past few years. We are very selective on who we partner with regarding our recruitment needs. The Onset Group have proven time and time again, they absolutely deserve a spot on our PSA. They understand our business, they deliver, they follow up, they’re smart and they are professional.”

Lisa Gray
Head of Human Resources

“I’ve worked in the product community in Sydney for just 3 years and the Onset are my go-to folk for product talent (and opportunities). Once in my role I worked with the team at Onset to build out my product team of 6 over the next year. So I’ve experienced the quality and expertise from both sides of the engagement.”

Jennifer Flynn
Group Manager, Product Management

“Working with The Onset was fantastic. They spent the time with me up front on understanding not only the requirements of the role but also the qualities and skill sets needed to fill the role well. The candidates provided were really strong and led to hires who have not only helped us fill roles but also enhance our overall company culture by introducing us to top quality candidates. Thanks Onset!”

Yaniv Klein
Product Director

“We partnered with The Onset, a leading IT recruitment agency, explained the journey we were on, and asked them to sell our vision to the Sydney market in our search for high quality developers. It was important that the people we chose not only had high technical skills but were a good cultural fit and understood where oOh! was going”

Andy Mcquarrie
Chief Technology Officer

“…by taking time to understand our unique hiring requirements, both from the start and as our needs have evolved. At Digital Asset, we’re looking for engineers and product managers with a specialized mix of skills and industry experience, for example, a strong background in financial services, or knowledge of functional programming languages. Onset has helped us find experienced candidates who are not only highly qualified but also inspired to work with a firm like ours”

Drew Harding
Senior Delivery Manager

“In addition to running the search and recruitment process they helped us to shape the role and were able to guide us through what was happening in the market and the experiences of other high growth companies.”

Rachel Debeck
Chief Operating Officer

“It was a pleasure working with Danielle to source a full stack developer for our company. She put real effort into understanding what we were looking for and helped us find the right candidate. Plus helped us find the first female developer!”

Antony Francis
Team Lead

“Onset has been partnering with Haventec for over three years. The team at Onset have the great ability to connect with our team and understand our business and culture to be able to place employees that fit our team like a glove. It takes great talent to recognise the unique needs of each business and to be able to deliver on them so well”

Edora David
Business Operations Manager

Let's work together

Ready to connect with the best recruiters in the industry? (you know you want to)