Writing a Relevant Resume in the Engineering World

During my career as a Software Developer, Engineering Manager and Co-Founder I went through dozens of interviews and I also interviewed hundreds of candidates.

In this short read I aim to help you write a better version of your resume or even make your first. I also list some different tools I use or used to create it. Everything here is based on my personal experience working in three different countries, applying to jobs in the tech industry, from junior to senior developer, and also switching my focus of what I was looking for. Let’s begin.


It does not matter how much professional experience one has or how many times you’ve done it, writing or updating your own resume is usually a painful task. Not only we don’t like doing it but also we are usually caught off-guard when someone else asks us for it. “Yes, I’ll send it to you right away” and then the inevitable happens, we rush into our computer files, then we go to Google Drive and lastly we start writing the word “resume” in our email provider until we find something which looks dull and obviously outdated. We quickly add something on top, review the dates and send it to the person who asked for it.

And that’s the happy scenario.

For many years I repeated this pattern until I realized I was missing opportunities. Opportunities you don’t know about because someone else gets them instead of you. Because a friend of a friend asked for your resume and you were too busy to update your old one and then forgot about it. Because the one you sent to a recruiter about that interesting job opportunity was just one more in the pile and since there were so many applicants they picked somebody else.

In some scenarios, as a hiring manager, I was reviewing more than 100 resumes per day and since that was just one of the many duties I had, I found myself always in a rush which means that I was checking resumes quickly at the beginning of my day trying to catch the ones that stood out.

In other circumstances I had a recruiter helping me. The process usually consists of an initial sync listing the requirements and nice to haves, and then the recruiter will be doing those first passes and sharing what they consider relevant with me to take a second look.

The process is still flawed. I iterated several times trying to improve it but the reality is that in most cases your resume will be initially read quickly and based on a 1 min assessment flagged as a "yes" or "no” so this is the audience you are aiming to.


The Basics

More is not always better

An empty resume is as bad as an overcrowded one. Your experience, skills and education are important but it’s not about quantity, it’s about how you share it and who is going to read it.

The single page resume is still valid as a rule of thumb. If you don’t have a lot of experience, it should be easy to stick to one page but it can (and will) get trickier as years go by. If you feel that you must have two pages that's fine but remember, hiring managers will be quickly reviewing applications and no one (I can guarantee you, no one) will check the second page. Keep this in mind but don’t panic, we will focus first on adding and then (if necessary) deleting. Even when you feel you have a lot to say, you have to be able to focus on what's most important. The goal of the resume is to get that first call, once you have that, you will be able to go into details so your resume will not matter much anymore and it will just be used as a conversation starter or guide.

Is my resume pretty enough?

Resumes don’t have to be pretty, resumes have to be easy to read. Of course there's some design into it, the font, its size and the layout are important (more on this later) but the question you have to ask when you look at it is: “Can I look at this page and get the information quickly?”. Ask that question yourself and check with a friend or colleague, if one can rapidly identify what you are doing now and what's your main expertise you are on the right track.


Structure

Ok so let’s start covering the different parts your resume should have:

Personal Information

Personal Information

The first part of your resume should include your basic info:

  • Name
  • Email address
  • Phone number
  • Your location (city and country is enough, there’s no need to share your personal address)
  • Optional: If you have a link that’s relevant about you (e.g. LinkedIn, GitHub or your own website) add it as well. Whatever you add make sure it’s updated. As for sharing your Github profile, ask yourself if it’s worth sharing: do you have public projects?. If you don’t (like me) there’s no need to add it.

I recommend not adding a photo since it creates bias although I’m speaking based on my experience in Argentina, United States and Germany. In some countries, hiring managers expect you to have a picture but if you know it’s not mandatory don’t add it.

Adding your work experience

Work Experience

Your work experience will be the core part of your resume and you will complement this with the other sections.

If you don’t have work experience yet, don’t worry, you will focus on the other sections then.

Start by writing down all the places you worked on in reverse chronological order (current or most recent job on top, first on the bottom). Maybe it’s one, maybe it’s ten, don’t worry, we will refine it later.

  • Company name
  • Your role
  • The time period
  • City and country
  • Description

If you already worked in a lot of places, you can already start excluding the ones that you don’t consider relevant for the position you are aiming to. In the first versions of my resume, when I was looking for a job as a software engineer, I proudly included my experience repairing and assembling computers, but the more places I worked on, the less relevant this became. I’m still proud of my months opening boxes, connecting cables and with that fear that a computer won’t turn on but, when I was applying for iOS Developer roles, that information was irrelevant for the recruiters therefore I removed it.

Company name

Maybe you worked in a well known company or maybe you worked at “Great Super Info Technologies Inc”, or what about “MycroCircuit”? Maybe you think the company is well known but someone from another city or country has no idea about it. Complement the company name with a very short description of what the company is.

For example:

  • Great Super Info Technologies Inc - (fin-tech startup with more than one million customers worldwide)
  • MycroCircuit - (circuit sharing company with focus on the latin american market)

The point here is to provide a quick context to the person reading the resume who may not know the name of the company and may not take the time to google it. Pay a lot of attention to this part if you are aiming to apply to jobs outside your current country, a company that could be well known in Argentina or Latin America may not be popular in Europe or North America.

Role

If your role is not that common because the company uses a non-conventional title, add a brief description or write the “known equivalent”.

Examples:

  • Junior Software Developer ✅
  • Senior Software Engineer ✅
  • DevOps ✅
  • Software Architect ✅
  • Engineering Manager ✅
  • Digital Overlord ❌
  • Lead Code Wizard ❌
  • Brogrammer ❌

This also applies to big companies like Google, Facebook and Microsoft who use their own sub levels like L4, E6 or SDE II [source]. If you have or had a title like this, also translate it to a friendlier version. Something like Senior Software Engineer (L5) .

Time Period

Keep it simple, just write the start month, year and when you stopped working there. Something like “Aug 2017 - Sep 2020” is more than enough. People will want to know how long you worked at each place and may ask you questions if you stayed less than 6 months in a place or you have big gaps. There’s nothing wrong with that but be prepared.

City and Country

Not much to add here, just write where you were located for each job. If you were working remotely add your location not the company one.

Description

This is the most important part of your work experience and logically the hardest to write. There are several ways to approach describing what you have done. To me is more than that, it’s a concrete list of things you did and most important the outcome that you created.

That’s one of the main key differentiators of what makes a resume stand out. That list could get long easily and here’s where you will have to use your criteria and pick no more than 3-4 items for each place you worked at. To help you decide which ones to highlight, think about the position you are looking for or about to apply. Let’s say for example that you helped (or lead) the process of hiring new members in a team and you know that the position you are going to apply is looking to expand their team. It will catch their attention to know you did this. Another example, you want to work for a very small company, a company that’s recently started. These environments require you to self manage and make decisions on your own. If you drove initiatives in the past, add them there and the impact that it created. By now you may have realized that you should change your resume even if it’s already up to date and adapt it depending on who you are sending it to.

While writing this I looked for previous resumes I wrote in the past. Here’s an extract of one from 2012 including my first 3 jobs as a Software Developer:

❌ Bad example:

Company A | May 10 – Nov 11
PHP - Web Developer
  • Development and maintenance of Hosting Control Panel and Webmail (Edgedesk and Open-eXchange)
Company B | Aug 08 – May 10
Java - PHP Developer
  • Full search engine created (PHP/MySQL). Main website renewed. Developed internal applications for managing content (Java/Struts/Hibernate).
Company C | Mar 08 – Aug 08
PHP Developer
  • Performed Website maintenance and development, and created new modules for CMS platforms in PHP.

Terrible. This describes what I’ve done but doesn’t tell much. Back then it made total sense for me but now when I read it I think “So you worked as a web developer and you developed web things, great”.

That was a extract of my resume 10 years ago and since my main focus changed and I accumulated more experience I don’t have these companies listed in my single page resume as I had to remove things but if I had to rewrite it following what I do now, it would look like this:

✅ Better example:

Company A | May 10 – Nov 11
PHP - Web Developer
  • Rewrote key components of the hosting control panel improving the platform performance by 50% and decreasing the count of weekly reported bugs by 80%.
Company B | Aug 08 – May 10
Java - PHP Developer
  • Created a full text search engine enabling users to find articles quickly from the home page.
  • Developed internal applications for managing the web content which allowed content writers to publish new articles on the main website automatically.
Company C | Mar 08 – Aug 08
PHP Developer
  • Improved website quality by reducing tech debt and focusing on maintenance tasks.

See the difference? Both describe what I’ve done in those companies but the latter gives you way more context.

In Company A I’ve added percentages and that’s good. Whenever you can add concrete data, do it. If you were not able to collect that information because you didn’t have access or it wasn’t being properly tracked try to use an estimate, but don’t lie, keep in mind that you could get asked about this so you should be able to explain more in detail what have you done and how you were able to measure that the performance improved by x%. What’s important here is that you are offering measurable information, things you’ve done (as an individual or as a collaborator with your team) and the impact that it created.

(You can find a link to my current resume at the end of the post to see more examples about this).

Education

Education

I remember when I wrote my first resume. I was in college and without work experience so I listed the elementary and high schools I went to. I was already in college and obviously you must finish high school in order to do that so that information was completely useless and redundant.

Your focus should be around things that make you a better engineer. If you are still in college, you can write the degree and when it’s expected for you to finish. If you finished it and you had a good GPA, include it. If you don’t have a good one or don’t know what I’m talking about don’t add it. (GPA stands for Grade Point Average which is the average result of all your grades calculated on a 7-point scale. This is the common standard in the U.S. but for me this was completely new and in Argentina the scales are different so I never wrote any numbers. Even if I could calculate something similar it would confuse others).

If you took any courses, in person or online add them here as well.

Skills

Skills is the broadest section and at the same time the one you should adjust the most each time you are sending an application. Why? Because throwing different programming languages, databases, technologies, platforms and hobbies will not cut it. You have to adapt this part based on the job you are applying for. Remember, recruiters may not have tech experience and will be following guidelines that a hiring manager shared with them.

  1. Start by adding the languages you speak and its level: native, fluent, intermediate, etc.
  2. Add the main programming languages you’ve worked with and you care about (if you worked with PHP more than 5 years ago and you are not looking for a job as a PHP developer there’s no need to have it there).
  3. Databases? Platforms?

When listing technologies, programming languages and platforms, put the more important ones first and group them coherently. Do not add a rating system, stars or progress bars. I’ve seen countless resumes with ratings such as “Swift 9/10” or “Kotlin ⭐️⭐️⭐️⭐️⭐️”. Does this mean you are very very good in Swift and perfect with Kotlin? There's no such thing. Let your work experience show that.

You can add as many things as you want here but keep consistency and avoid redundancy. Do you have experience with Objective-C or Swift? Great, so there’s no need to put Xcode in the list as it’s obvious you used it.

❌ Avoid something like:

Swift, Xcode, AWS, MySQL, Javascript, Azure, .NET, GraphQL, Python, MongoDB

✅ Try to reorganize:

Swift, Javascript, .NET, Python | MySQL, MongoDB, GraphQL | AWS, Azure

Projects and Awards (optional)

This section is an opportunity to link projects that you created and are not part of companies you worked at. Did you build an app? Add a brief description and a link to it. Maybe you participated in a hackathon and won. Describe what you built and what was the reward you got. If you volunteered to organize an event you can also add it.


Review phase

You made it 💪. You have your first or a new version of your resume. The most important part now is to look for typos. Read it several times and, if you can, ask someone else to also do it. Not great for the environment but printing it will help to find any typos.

Then it’s time to groom it. First step is to try to make it a single page if it’s not yet. Ask yourself the following questions:

  • Do I have any redundant information?
  • Is there anything I consider not very relevant?
  • Who am I sending this resume to? Is the content tailored for it?

Every time I read my own resume I make changes. Maybe something that doesn’t sound good or a small edition or deletion. Your resume evolves with time and each read.


Tools

There are tons of tools out there where you can create or add your resume. As soon as you google “resume template” you will find so many things that it’s overwhelming. Not only that, a lot of tools charge you to create a decent looking resume. It’s tricky because you may be looking for a job at this point and you have to deal with paying for something you are not sure is gonna help you. Here are the ones I use or used and helped me:

LinkedIn

LinkedIn

LinkedIn is a great tool to grow your professional network. Many recruiters use the platform as a way to reach potential candidates. It also gives you the chance to see what companies are looking for and apply right from there.

I personally recommend to have your own PDF resume but to also keep a very similar copy in LinkedIn since it will improve your exposure. I was approached several times by recruiters who after a brief chat on LinkedIn they asked me to send them a PDF version of my resume so don’t rely only on LinkedIn even if the platform has a feature to export a PDF it looks bad and the information is not that well organized.

Google Docs

Google Docs

For several years I’ve been using Google Docs to create my resume. There are a few templates that are not great but an ok start. On the other hand, you can quickly add your information there and have something decent and constantly updated. I’ve used it for many years and every time I had to update my resume I was able to find it quickly. It also gives you the possibility to share it online with other people who can quickly review and add comments into it before you have your final version.

resumake.io

Resumake

A few months ago I started looking again for ways to create a resume outside of what I was using regularly (Google Docs) and I stepped into this great and free to use tool.

Resumake is a website for automatically generating elegant LaTeX resumes without the need to write any TeX code yourself. It allows you to quickly create your resume based on a few predetermined templates which you can export as a PDF, Latex or JSON (exporting it as JSON serves as a backup that you can later upload in the website to continue editing your resume). The experience is fast and you can pick the different templates options which are all very clean. You have different sections to add your profile, work, education, skills, projects and awards. This is what I’ve recently used and I’ve already recommended it to friends who were very satisfied by it. Even outside engineering you can adapt the categories like Projects and Awards into something else since it’s customizable. You can find the source code here and it’s totally free to use.

I’ve contacted the creator of resumake Saad Quadri who mentioned that he is planning to release a new version (v3) within the next 1-2 months and that the site will continue to be free + open source forever (so if you find the tool useful and want to support it you can donate by clicking on Donate on his website footer).


Final Stretch

No matter which tool you use, export the resume in a friendly and non-editable way (PDF works perfectly fine) and use a name that’s easy to find and also identifies you (e.g. Emiliano-Viscarra-Resume.pdf )

If you want to use it as reference you can download my resume here

Also, don’t forget to create a LinkedIn profile with all the information you have on your resume or, if you already have one, make sure it’s up to date 🚀.


This is my first post and I’m planning on writing more about relevant topics including engineering management, culture and more. If you found this post useful, have questions or want me to go deeper on some of the things mentioned above, you can write me an email, or find me on LinkedIn, Twitter or Instagram.