As a software engineer, you have the skills and expertise to shape the future of technology. You know how to write code that can end up influencing the lives of millions of people. But before you can work on something meaningful and impactful, you need the right job. And for that, you need a software engineer resume that effectively showcases your abilities.

In this article, we will focus on how you can build a resume that clearly and concisely presents who you are and what your experiences and skills are, so you have the highest chances of landing your dream job. Here's what we'll cover:

The X-Team Jobs platform has a long list of continuously updated remote engineering jobs. Create a profile today if you're looking to do great work for amazing global companies.

Before We Begin

Some important points before we dive into creating an amazing software engineer resume:

First, your resume should have consistent, plain formatting. Font size, line spacing, italics, casing, et cetera should be consistent. So don't write Senior Software Engineer here and Senior software engineer there. Also don't get funky with column layout, because it makes your resume harder to read and parse. These details matter.

Second, your resume should never be too long. Two pages at the most. Recruiters look at your resume for a few seconds only. Capture the essence of what you think is important for the job you're applying for. Leave most other things out. Recruiters don't need to know you bartended for two summers ten years ago.

Third, name your resume file appropriately when sending or uploading it. Don't upload a file that's named My Resume FINAL FINAL I SWEAR FINAL. Instead, keep it simple: Thomas De Moor Resume will do just fine. It's all about coming across professionally.

Fourth and final, consider the applicant tracking system (ATS) that recruiters almost certainly use to filter through resumes. If you're applying for a React role but you don't mention React anywhere in your resume, chances are that the ATS will filter out your resume before anyone ever lays eyes on it. So where possible, use keywords from the job description in your resume.

Similarly, you want to reduce the chances that the ATS will misinterpret your resume. This is more common than you would think. Many resumes end up scrambled in a recruitment database, and are never considered as a result. You may sometimes read about someone who got a job because they did something creative with their resume, but those cases are the exception, not the rule. You will be much better off keeping your resume consistent and plain.

Personal Information

The top section of your resume should start with your full name, phone number, and email address. Include the country code for your phone number and make sure you use a professional email address over your childhood one. So over Doublecheck these details to make sure you've spelled them correctly.

Next, we advise you not to include a profile picture in your resume. Many countries have strict anti-discriminatory laws that put companies in difficult positions when you include a picture. Recruiters also don't like it, because it introduces appearance as a subconscious factor when they want to focus purely on your skills and experience. And it makes parsing a CV more difficult for the ATS. So err on the side of caution and leave that profile pic out.

If you currently have a job, you should also include your job title. Make sure an ATS will be able to understand it too. Even if your title is Server Wizard, you're better off writing Backend Engineer. Pay attention to how the job is spelled in the job description. If it's spelled Back-End Engineer over there, then that's how you should spell it on your resume too.

This is also a good place to include social links, especially your LinkedIn and GitHub profiles. It's a good idea to create professional profiles on these platforms to match or augment your resume. An active GitHub presence shows your programming experience in ways a resume cannot, while an active LinkedIn with good, relevant posts make you a more attractive employee. Companies like to lean on their employees' personal brands.

Professional Summary

After your personal information, but before your work experience, you usually have a little real estate to write a professional summary. A small paragraph that a recruiter can quickly scan to get an overview of who you are and what you do. You should include your years of experience, an important achievement, and one or two of your top skills appropriate to the job. For example:

Detail-oriented backend engineer with seven years of experience building robust and scalable server-side applications. Fully proficient in multiple languages including Java, Python, and Node.js. Experience working with SQL and NoSQL databases. Recently optimized server-side logic of a major e-commerce platform, resulting in a 30% performance increase.

It's short, it's sharp, and it has plenty of keywords for an ATS to pick up. Notice that it doesn't say I am a detail-oriented backend engineer or, even worse, Thomas De Moor is a detail-oriented backend engineer. That's just taking up space. A recruiter understands you're talking about yourself on your resume.

Work Experience

Your work experience is the most important section of your resume. It's an absolute must to tailor it to the job you're applying for. It should be a highlight reel of relevant information in reverse-chronological format. And don't lie or exaggerate the truth. Recruiters can tell.

When you write this section, focus on job achievements over job responsibilities. It's more impactful and engaging to read. Make your entries as specific as possible, with active language. So not Led a team of junior developers, but instead Mentored a team of 5 junior developers, with two members being promoted to mid-level developer roles within a year.

Be sure to mention important technologies you're familiar with here as well as in the skills section, because sometimes an ATS struggles to parse the skills section depending on how a CV is formatted. So best mention the technologies you have experience with in a few places.

Similarly, for the sake of the ATS, use established conventions to describe your work experience. In this order, top to bottom: job title, company, start date, end date, and summary. Switching up the layout can confuse an ATS and put the wrong values in the resume database of the company you're applying for.

Finally, it's worth addressing employment gaps. No company should frown upon an employment gap, no matter the reason, but it's nice to explain why you didn't work for a particular period. It could be something as simple as:

October 2022 - October 2023
Took care of a family member facing a health challenge


We're beginning to sound like a broken record, but use this section to include the soft and hard skills relevant to the job you're applying for. Choose the most impactful skills. Don't waste valuable space on Microsoft Word or PowerPoint, especially when that's not explicitly mentioned in the job description.

Also don't use graphics to indicate how good you are at a particular skill. First, they carry little meaning. What does it mean that you're a 4/5 in Rust? Second, an ATS will struggle to interpret anything graphical on your resume. So don't include little bars or dots or lines to indicate your proficiency. It's not worth the risk.

If you want to list many skills, it may be worth organizing them so they're easier to scan. For example, you could organize your skills according to frontend, backend, graphics, et cetera. And don't forget to include soft skills too, such as mentoring, teamwork, and creativity. Just make sure you can back up these skills with relevant stories about where and when you used them.


If you studied computer science, feel free to expand on this section with relevant courses, but since so many software engineers are self-taught, you can keep this section small. Aim for accurate and clean. If you're self-taught, include programming certifications and/or awards here.

Good education is important and can give you a head start in many jobs, but software engineering is one of the few industries where you can find your dream job with no relevant degree whatsoever. Work experience and personal programming projects weigh much more heavily than education on a software engineer resume.

Optional Sections

If you have any space left, other sections you could include are:

  • Hobbies and interests. Even if not immediately relevant to the role, recruiters like to know who the person behind the resume is. What do you like to do in your free time? It gives a recruiter some insight into your personality. A simple list does the job, similar to the skills section on your resume.
  • Volunteering experience. If you taught Python to kids at RoboRock Summer Camp as a volunteer, it could be good to include that in a separate section that also gives a recruiter some insight into who you are as a person and what you like to do in your free time.
  • Personal projects. If you have a really significant personal project and not much work experience, you may want to place this in the work experience section instead. But if not, it may be worthwhile to put a few personal (programming) projects at the bottom of your resume as well.

And that's it. You've been given useful tips that will make your resume stand out both to applicant tracking systems and to recruiters. Now that you have this information, it's time to make it happen. Build your resume and apply for jobs. Take action, and before long you'll be in the running for some of the best jobs in the world.

Looking for remote software engineering work? Sign up for X-Team's Jobs platform, upload your resume, and receive a continuously updated list of exciting remote jobs.