How to create a software engineering resume

Creating a resume isn’t something that is overly difficult. However, depending on your level of experience, it could be quite sparse. I struggled immensely to fill out my resume when I started. However, when I look at my current resume, I think it's great. It’s certainly won me my fair share of jobs, that's for sure. In this article I will over how to create your resume, what should be in it and how to make it sound the correct way.

Contents

You're going to need the following headings, you can add more, but I wouldn’t add less, if you are new this will be difficult enough as it is.

Main sections:

  • Details

  • Skills

  • Experience

  • Education

  • Projects

If you include these main sections, you cover just about all bases. It clearly breaks down what you have done, what achievements are to your name and frontend and centre your skills and contact information are at the top. 

DETAILS

This is straightforward one, add your name, position, phone number, email, website (get one). This doesn’t have to be fancy, but make sure it’s at the top.

SKILLS

In the first few years of your career, this section is the most important. Employers are looking for x number of years in y technology. It’s very critical that you list the skills you have and the number of years experience. Even if it's less than a year, round up, always round up. 

An example would be:

  • JavaScript: 1 year

  • React: 1 year

  • React Native: 1 year

This clearly shows how much experience you have in a specific technology. Furthermore, if you apply for a role that your skills are not quite aligned with, you show that you have other skills. This effect is even better when you have quite an array of skills, which makes up for a lack of total years in a specific technology. My resume is all over the place, I have mostly JavaScript, but I have a bunch of other languages like Go, Elixir. Then many frameworks in JS, Vue and React. Then I have multiple other technologies that aren’t specific languages such as AWS, CI/CD and Postgres. 

My resume shows that I have a wide array of skills, not just in the domain that I specialise in. As someone looking at my resume can clearly see, I may not have the total number of years in a language or framework, but I have the ability to pick up anything with a solid foundation of knowledge. 

Be warned, don’t put any old skill on your resume. Make sure you’re actually comfortable with it.

EXPERIENCE

This could be the most difficult section to fill out if you are new. I know it was for me when I started. Initially I had previous jobs I worked at, even the local Subway experience. You have to fill this out even if it doesn’t contain programming related jobs.

For example, you might be fresh out of university, you need to list any part-time jobs you had as this leads to your credibility as a worker breaking into the field. It’s hard to get into the field, it's even harder if you have zero work experience.

If you are a change of career type, then you should list at least the last few jobs you had. They’re not programming, but they show you had a successful career beforehand.

Here is an example from my resume:

Lexicon / Lead Software Engineer

 1/12/2021 – PRESENT, MELBOURNE

Lead developer running a team of 7 developers. I primarily worked with AWS Lambda, Github Actions, NodeJS, NestJS and React. I ran my team successfully keeping people happy, engaged and productive. I also worked on the harder tasks, writing integration test frameworks, CI/CD pipelines and making technical and architectural decisions, all for IAG, one of the largest insurance companies in Australia. I also engaged with Entain (Ladbrokes and Neds) to improve their React Frontend and their React Native mobile application.

<Company>/ <position>

 <DATE-FROM>-<DATE-TO/PRESENT>, CITY/COUNTRY

<Description of what you did> 

Notice how clearly it defines the company, the position, and the dates. Lastly, notice how I wrote the description. It clearly defines what I directly did, what I directly worked on, and what influence I had on the project or company. This is the most important part of your resume. Describing what you worked on, clearly, directly and not “I worked in a team that did z”. You clearly define that in that team, you delivered a certain outcome. “At Y bank, I delivered a payments system that integrated Stripe” Something specific, as specific and as impressive as you can make it. You are selling yourself here, after all. Simply repeat this for all the jobs you had, especially if you have previous non-development jobs, these are examples of how your skills will translate to this new field.

EDUCATION

Pretty self-explanatory, list all the qualifications you have from a university or from a bootcamp. You don’t have to go into too much detail, as this section is less essential than the others.

PROJECTS

This is an extremely important section, and ideally you should put it right after your ‘Experience’ section. This is where you dive a little deeper into what you did at the jobs in more detail. In the experience section it was a bit of a higher level, talking about the position and less about the specific technologies or deliverables.

The projects section is where you dive specifically into what technologies you used, how you mastered them, and how you played a critical role in the delivery of the project. You can have multiple projects per job, whereas in the experience section, it’s a summary of your time at that job. 

Again, like the experience section, it’s crucial to write this from the correct perspective. You clearly state what the project was, who it was for, and the biggest impacts you had in the team. It is common to write, “I was a backend developer in the team at IAG. We delivered a new product”. This makes you sound as if you are a cog in the machine. Instead, “At IAG, we were tasked with creating a new way for customers to pay online for their insurance. I used NodeJS, AWS Lambda and state machines to deliver such pieces as x, y, x. We delivered the project on time to a high standard”. This summary can  be better, but what it does show is that you were part of the team, but you discuss exactly what you delivered to the project. That's the key part, you highlight what you actually accomplished in the team. Yes, delivery is a team sport, but an employee isn’t hiring the whole team, they hire you; You must sell yourself. This section is the hardest part about a resume, because if you’re in a team that didn’t do much, or it was just bug fixing, you then have to jazz it up.

Below is an example of a project I have for the time I worked at IAG.

<Company>/ <technologies>

<YEAR>

<Detailed description of what you did with those technologies and how you personally delivered to a deadline>

IAG / AWS Lambda (Serverless), React, State Machines, NestJS, Micro Frontends

2022

IAG is one of Australia’s largest insurance companies, publicly traded on the ASX. The project was centred around a white labelled insurance application using micro frontends and an AWS serverless backend.

I was the technical lead of a team of 7 developers. We successfully delivered  two insurance products to market for Auckland Savings Bank. I led the team, managed priorities and worked on various parts of the system including major framework migration, CI/CD, integration testing framework and features in both the frontend and backend. 

EXTRA SECTIONS

There are two sections I haven’t mentioned, and this is because they aren’t critical, as well as most people won’t have information to put in them. These topics are “Talks” & “Certifications”. Now I have a separate section for certifications because these are small, short things I have done. For example, you might have done an AWS certification, this can go here. I deem these as little extras, not something that really stands out.

Talks are, well, talks you have done at a meetup or a convention. These are great ways to standout from the crowd. I don’t know how effective this truly is, but I’ve done a small talk at a meetup, so why not include it.

Resume wrap up

Now it’s time to make your own, I have provided my entire resume as a link that you can use for reference. This is the exact same one I use to get every job I have had. One thing I would like to add is make sure it’s always up-to-date. Every 6 months or so, spend the time removing the oldest or the weakest projects and add the new one you have worked on in that 6 months. Constantly keeping it up-to-date makes it quick to apply for jobs if you lose your current one or if something interesting comes up. You never know when a recruiter might ask for a resume!

I hope this helps if you are new, and if you already have a resume, I hope this improves what you already have. I’m not here to say that this is the best resume, you can put as much effort in as you desire. However, I have seen great success with this format. Linked in the notes section is the Envato format for resumes. This was simply the first one I found, but there are plenty of examples of more visual resumes you can make. Remember that a resume is a living document of all your achievements, it's a sales pitch to potential employees. 

NOTES

  • I have redacted some information from my resume, such as years of experience and phone number. I removed the years of experience because I’m at the stage of my career that it’s not important. Furthermore, I would highly recommend adding years of experience at a skill level, or conversely you can add a competency level shown here: Example with skill levels over years

  • Example resume

Previous
Previous

My book recommendations

Next
Next

How to improve your debugging