How to Create an Appealing Software Engineering Resume

Job search (especially in the competitive Software Engineering field) is a time-consuming and often stressful task. Hence it is important to optimise and streamline each step of this task as much as possible to better the chances of landing a good job offer.

Part of the job search procedure is to draft an appealing resume according to certain standard protocols and format. This guideline therefore attempts to share with your some of those protocols (along with a few tips and tricks) to draft a resume to improve your chances of landing your ideal job offer.

Understanding the Hiring Pipeline

Over the years as I reviewed and screened a lot of resumes, one thing is always apparent - the applicant lacks insight of the hiring process. Hence I would like to start this guideline by attempting to educate you about it first.

The hiring process is usually divided into multiple stages. Now the exact pipeline is never the same and it varies depending on the size and financial capabilities of the organisation but the core concept is pretty much very similar.

The first stage of the hiring pipeline is when a Hiring Manager (who is usually a senior technical member of the organisation/team) requires additional resources and prompts the HR team about the same. The HR team is provided a list of requirements the candidate is supposed to have to fulfill the Hiring Manager's needs. The HR then proceeds to put up a job advert on various platforms like LinkedIn or some other platform. As soon as you apply to a job advert through the said portal, your application (and your resume) is stored in an Application Tracking System (ATS) for further screening.

Now a common misunderstanding is about drafting resumes are that "it should ATS-friendly". I do not understand where this common misconception arose but you should be aware that the ATS is just a software to store and track applicants to a job position. Most commonly used ATSes do not have intelligent OCR capabilities to parse through your resume (if its in a PDF format). The organisations which can afford to utilise ATSes with more feature-rich and OCR capabilities are rare and not very common. To give you a heads up, the inbuilt LinkedIn ATS does not provide any such feature and you need not worry whether your resume will "pass the ATS test".

With your application (and resume) tracked on the ATS, it is the HR's call to screen through the thousands and thousands of resume they receive each day! A vast majority of the resumes are often spam and unrelated to the job advert. Hence HRs are incentivised to scan a bunch of resumes/applications for not more than a few seconds "looking for certain keywords". The said keywords are chosen based on the requirements list provided to them by the Hiring Manager. All resumes which pass this initial HR screening are forwarded to the Hiring Manager for further review. The Hiring Manager approves a select few of those screened resumes for an interview call (or sometimes even a quick phone interview as is the case in smaller seed startups).

The key takeaway here is, your resume should be optimised to showcase the best version of you at a quick glance! Keep it in mind, the HR screening your resume will not be spending more than 3-5 seconds of a glance reading through the resume. You can discuss more details of yourself during the phone call or face-to-face interview with the Hiring Manager!

Using the Right Structure/Format for the Resume

To ensure the resume is optimised for the HR screening stage, it is important to use a correct format for the resume. This section of the guide will walk you through the steps to draft a resume with a correct structure. Now do note, the structure shared here is applicable to the industries of most parts of Asia, Western Europe and the US. If you are looking to apply elsewhere you will probably have to perform your due research on what the accepted structure of the resume for that particular industry is.

That said, the structure of the resume you should be working with is as follows:

  1. Always start the resume with your name (in bold and prominent font size), contact information like email, GitHub profile, current location and your a phone number to reach out to you.

  2. Divide the entire resume into multiple sections and each should be structured exactly like this:

    • Technical Skills, where you list all the skills you want to showcase.
    • Work Experience, where you share detailed description of your previous work experience.
    • (Optional) Projects, achievements, certifications and such where you want to showcase extra-curricular activities relevant to the job advert.
    • Education, where you share information about your academics.
  3. Ensure your resume is read top-down like a normal book or a professional document. Resist the temptation to draft a resume in a column style, such resumes are often outright rejected!

  4. Ensure chronological order of pretty much any/all relevant sections like your latest work experience should be on top of the previous ones. Or your latest education should be before the older previous one.

  5. Resist the urge to prettify the resume with unnecessary details. Remember it is a professional document and you will not want to read such documents written by an amateur.

Some Tips & Tricks to Write Professionally

As discussed in the previous section, drafting the resume professionally is very important. This section will share some tips and tricks to create one such professionally drafted resume.

Tip 1: Use the Right Font Family & Size

Please for the love of God, stick with either of this font families - Times New Roman, Arial or any Serif-type font. Anything else and especially if it is not a serif-type font is extremely unappealing to read!

A good font size of the general description section of the document is 10-11 points. Exception applies to the heading sections and the top of the document where you share your personal contact details and name.

Tip 2: Refrain from Adding Unnecessary Fluff

Professional documents do not require to look fancy with loads of colours and an oomph. Keep it simple and stupid (KISS) like the engineer in me would like it as!

The most beautification you should worry about is:

  1. Making sections of your resume bold and if you want to direct extra attention to it.
  2. Using italics style on lesser prominent sections of the document.
  3. Adding an underline and a blue font colour to hyperlinks to clearly distinguish them from the rest of the document as something of a point-of-interest.

Tip 3: Use Your Best Judgement to Add Projects/Achievements

Now adding a projects/achievements section to the resume can be quite subjective. While you might be super proud and confident about a certain project or achievement, others might not feel the same way about it!

I personally recommend adding such a section to the document only and only if you feel confident you have a chance at discussing some interesting points about it during the interview process. If you do not have something to boast about during the interview, the space might be better utilised to describe more about your work experience instead.

Tip 4: Update the Resume Very Often

Most people I know only remember about updating the resume during their job search phase which I strongly advice against. Instead I usually recommend maintaining a Bragdoc which is updated every other day (should not take you more than a minute or two post work hours). And then every three or so months should you pick your personal best achievement from the Bragdoc and add it to your resume.

This way not only are you ALWAYS ready with a resume but you will also never forget about an achievement you made at your workplace which could have made your resume look quite appealing.

Tip 5: Perform a Customary Grammar Check

It is a major turn off and a red flag to find a resume with loads of grammatical errors (keyword being loads). A professional document with grammatical errors make it looks amateurish and the candidate as someone to be slacking.

Take my word on it and do not make yourself a target to be joked on and just use tools like Grammarly & Hemingway Editor or some LLM-based chat bots like ChatGPT or Claude to review your resume for grammatical mistakes.

While the suggestions I have shared above will help you a long way ahead in securing your next job offer by enabling you write a very professional document, I want to share some additional resources which will provide additional marginal benefits.

  1. Use this resume template I created in Google Docs - Anonymous Resume.

  2. Get your resume reviewed from your peers. A second opinion will always polish out the remaining intricate mistakes here and there which you might've missed. Join our Discord community & ping me whenever you want to for a resume review (my Discord ID - Jarmos#8937).

  3. ALWAYS remember, job hunting is a numbers game! Don't lose patience and keep applying to jobs on all platforms you can think of. And don't hesitate to reach out to prospects & network with people. Be mindful though, asking for a job straight away might appear rude to some. See this article - How to Break Into the Tech Industry—a Guide to Job Hunting and Tech Interviews to find some insights & lessons.

  4. The r/EngineeringResumes Wiki .

If you feel I missed out on some advice and/or you could add additional insights, please feel free to make a pull request or ping me on Discord! Additionally, you can find more personal contact details about me on my personal website if you want to reach to me privately.