I’ve noticed certain repeating themes I am calling “mistakes” with resumes. These are areas of improvement, which almost always make resumes better. Let’s go through these.

Poor Format

I have seen too many resumes where developers had good and relevant experience, but this became hard to understand, due to poor choices in formatting. The most common issues are:

Common mistakes: bolding and inconsistent formatting

Take a look at this resume. What seems to be issues that stand out immediately?

Image represents a tech resume for Rob Oldnatie, a Software Developer.  The resume is structured into sections: contact information (phone number: +1-123-456-7891, email: hello@example.com, LinkedIn: in/rob432) at the top; followed by 'Technical Skills' listing programming languages (Java, SQL, PL/SQL, JavaScript, Python), databases (Oracle Database, SQL Server), cloud platforms (Microsoft Azure DevOps), and technologies (REST, JSON, XML, SOAP, HTTP, Linux, Jira, Git, SVN, Docker); then 'Work Experience' detailing two roles at Line Corp in the United States. The first role, 'Software Engineer – Tax Returns' (Sep 2018 – Present), describes projects involving third-party interface development, API improvements resulting in 45% cost reduction and 80% support ticket reduction, W4 interface design, and SAP Concur interface redesign.  Technologies used are listed as Java, Oracle Database, PL/SQL, Postman, T-SQL, MS SQL Server, Azure DevOps (TFS), SQL Server Studio Management, and Git. The second role, 'Software Engineer – Customer Happiness' (February 2016 – August 2018), highlights the creation of troubleshooting tools, development of a data receiving module for a mass transaction uploader, and implementation of a data restriction feature in a compensation reporting tool.  Technologies/frameworks used are listed as PL/SQL Developer, SQL, JavaScript, Oracle database, Git, SVN, HTML, CSS, and Jira.  The entire resume follows a clear, hierarchical structure with bullet points detailing accomplishments within each role.

As a hiring manager, a few things immediately pop out. First, there is far too much bolding. And the things that are bolded are inconsistent. Why is “W4 forms” bolded, when the application is for a tech company where the work has nothing to do with taxes? Second, the formatting is inconsistent. Font sizes are different, and alignment is off. Finally, the language used is sloppy in places.

Visualizing the issues:

Image represents a tech resume for Rob Oldnatie, a Software Developer.  The resume is structured into sections: contact information (phone number: +1-123-456-7891, email: hello@example.com, LinkedIn: in/rob432), technical skills (listing Java, SQL, Oracle Database, and numerous other technologies and architectures), and work experience (two roles: Software Engineer – Tax Returns and Software Engineer – Customer Happiness).  Each work experience section details responsibilities and accomplishments using bullet points.  Red arrows connect aspects of the resume to three numbered annotations: '1. Too much bolding,' indicating excessive use of bold text; '2. Inconsistent formatting,' highlighting inconsistencies in the formatting style; and '3. Sloppy phrasing,' pointing out instances of unclear or imprecise wording.  The work experience sections include dates (Sep 2018 – Present and February 2016 – August 2018 respectively) and list technologies used in each role.  The overall structure flows from personal information to skills and then chronologically through work history, with the annotations highlighting areas for improvement in presentation and clarity.

While the content of the resume is decent, these issues convey the perception of a person who doesn’t have good attention to detail. It also makes the resume harder to read and to comprehend.

Forgetting About Your Audience

You are writing your resume for recruiters and hiring managers who you do not know. You want to convey your skills and tell a story to them, assuming they know nothing about you. Common mistakes people make include these:

Unnecessary Details

Many resumes include details that are a waste of space. These are most frequently added because traditional resume templates have them, and candidates assume they should share these details. Here are the most common details that you can skip, in the vast majority of cases.

From the inside out: clicking through to outdated links

Jorick Thijs Polderman, senior technical recruiter at Transferwise, mentions a common anti-pattern where candidates add links to resumes that are not up to date:

“What I often see is that there are either no contributions or repositories on the candidate's Github pages, or a personal website that isn't functioning. I often see GitHub pages or personal websites not giving away more information that could be beneficial to the candidate's application processsuch as a more detailed resume or a technical blog.

When adding a link, make sure the links work and the information is up to date. For example, your LinkedIn should be reflecting your resume. If you have nothing visible on GitHub, it might as well not be included. The same goes for personal websites.”

Common mistakes: unnecessary details

Take a look at the following resume that is for an application for a position in the UK. What sections don’t add much to the content?

Image represents a tech resume for Pam Nitlittle, structured in sections.  At the top, personal information is displayed, including location (Barcelona, Spain), email (hello@example.com), and links to various online profiles: LinkedIn (@in/pam4211), GitHub (@pam4211), StackOverflow (@pam4211), Medium (@pam4211), Dev.to (pam4211), and Skype (pam4211). A headshot of Pam is positioned to the right. Below this contact information, a comment `<!-- Usual resume content: languages & technologies, work experience, education -->` indicates the typical content of a resume, which is then followed by a 'Languages' section listing Pam's proficiency in Turkish (mother tongue), English (fluent), German (intermediate), and Spanish (basic conversational). Finally, a 'References' section includes testimonials from John McAllister (Director Engineering at HomeCorp) and Sarah Smith (Senior Engineer at FlightScanner), each providing positive feedback on Pam's skills and work ethic.  The resume concludes with a statement indicating further references are available upon request.

Outside the core content, not many of the sections do add value. The photo introduces bias. There are far too many contact details and social accounts listed. There’s no reason to add all of these. Spoken languages are unimportant in a market or company where English is the only language spoken. And references don’t have a place on the resume, including praise. Let’s remove all the unnecessary sections:

Image represents a simplified representation of a tech resume header.  At the top, the name 'Pam Nitlittle' is prominently displayed in bold, dark red font, underlined by a thin, dark red line. Below this, contact information is presented: 'Barcelona, Spain' is listed, followed by an email address 'hello@example.com', and links to LinkedIn and GitHub profiles, each indicated by underlined text. Finally, a light gray box contains a comment-style HTML tag (`<!-- -->`) enclosing a description: 'Usual resume content: languages & technologies, work experience, education'. This comment suggests that the box represents the typical content that would follow the header in a full resume, encompassing sections detailing programming languages, technologies used, work history, and educational background.  There is no explicit visual connection between the header and the comment box, but the arrangement implies that the contact information and the described content are components of a complete resume.

Now we only have information that is relevant for the position: the “meat” of the resume.

Links taking up too much attention (coloraturas or space), dead links, pointing to non-high-quality content.

Common mistakes: links

Take a look at a section of this resume, which contains several links.

Image represents a tech resume for Sam Notohere, displaying contact information (email: hello@example.com and website: https://SamDev.github.io/) at the top.  Below, a 'WORK EXPERIENCE' section details two roles:  a current position at Cloudless as a Backend Software Engineer (Remote) since January 2019, involving RESTful API maintenance and third-party API integrations; and a previous role as Team Lead at MennoMark from March 2018 to January 2019, encompassing team management, developer training, and software delivery.  Specific project details are included, such as building a mobile app (link provided: http://www.mennoInova.com/apps/farming/download) using Kotlin and SQLite.  A 'PERSONAL PROJECTS' section lists two projects:  `pythonGettingStarted` (GitHub link: https://github.com/gergelyorosz/PythonGettingStarted/blob/master/README.md), described as a Python learning project, and `restAPI with Node` (GitHub link: https://github.com/gergelyorosz/restApiWithNode), showcasing modern API design principles implemented using Node.js.  The resume is structured chronologically, with each role and project clearly labeled and described, showcasing technical skills and accomplishments.

This resume section contains most of the common mistakes with links. The color of them stands out and draws attention to the links instead of the relevant content. The links take up too much space by typing out the full URL. The font for the links stands out—there is little reason to use a distinct font. Let’s address these issues. Note that there’s a lot more to improve on in the resume content. In this example, we'll only improve links and highlighting.

Image represents a tech resume for Sam Notohere, with contact information 'hello@example.com, SamDev.github.io' at the top.  The resume is divided into 'WORK EXPERIENCE' and 'PERSONAL PROJECTS' sections.  The 'WORK EXPERIENCE' section details two roles: 'Backend Software Engineer' at Cloudless (Jan 2019-present), describing re-architecting and maintaining a RESTful API using PHP/Laravel and third-party APIs; and 'Team Lead' at MennoMark (Mar 2018-Jan 2019), outlining managing a team, onboarding new developers, and leading the development of a mobile app (using Kotlin and SQLite) and an API (using PHP/Lumen, AWS services, and Postman).  The 'PERSONAL PROJECTS' section lists 'pythonGettingStarted,' a project for learning Python, and 'restAPI with Node,' showcasing the implementation of modern API design principles using Node.js, including HATEOAS, caching, and content negotiation.  Both personal projects include links to view the code on GitHub.  The resume uses bullet points to list responsibilities and accomplishments within each role and project, clearly structuring the information chronologically and by category.

With the changes, we’ve removed the highlight colors for the links. Now, these don’t draw any attention. Instead, we can focus on drawing attention to where we’d like the recruiter and hiring manager to look first. In this case, this person chose to focus on the titles, the dates of employment, and the names of the personal projects. There’s also an option to use a highlight color to make the resume even more readable, for example, by coloring the parts that are just section names with a highlight color:

Image represents a tech resume for Sam Notohere (hello@example.com, SamDev.github.io).  The resume is structured into sections:  'WORK EXPERIENCE' lists two roles. The first, 'Backend Software Engineer' at 'Cloudless' (Jan 2019 – present), details re-architecting and maintaining a RESTful API using PHP/Laravel and third-party APIs. The second, 'Team Lead' at 'MennoMark' (Mar 2018 – Jan 2019), describes managing a three-developer team, training new developers, and leading the development of a mobile app (Kotlin, SQLite) and an API (PHP/Lumen, AWS RDS, Elastic Beanstalk, Postman) for the MennoInnova mobile application. The 'PERSONAL PROJECTS' section showcases two projects: 'pythonGettingStarted,' a learning project with code available on GitHub, and 'restAPI with Node,' demonstrating modern API design principles (HATEOAS, Caching, Content Negotiation) with code also on GitHub.  Each bullet point under the work experience sections describes specific tasks and technologies used, with links to GitHub repositories provided for the personal projects.  The entire document follows a clear, hierarchical structure, with section headings and bullet points to organize the information chronologically and thematically.

We’ve gone from having the default link color highlighting parts of the resume that were unimportant, to the important parts of the resume standing out. Now the “placeholder” information stands out with a color of choice and makes the resume easier to scan. Links are still clickable, and an underline invites people to click them. In practice, recruiters and hiring managers will only click these links after finding the key information they are looking for in the first scan.

Recap: Actions to Improve Your Resume

In this chapter, we’ve looked at some of the most common mistakes with developer resumes. Poor format with sloppy phrasing and forgetting about who you are writing for—the recruiter and the hiring manager for that specific position—are common ones. Adding unnecessary details, from personal details to spoken languages or a list of references is another one. And drawing the reader’s attention to things that are not really important—for example, by using links that are long and have a standout color—is also something that you’ll want to avoid.

Do the following checks to ensure your resume does not have a “classic” mistake that will make a recruiter roll their eyes:

  1. Do you have a photo on your resume? Remove it.
  2. How many contact details and social profile links do you have on your resume? You should have no more than four. Do you need all of these?
  3. Do all the links work on your resume? Click through each of them.
  4. Do all the links point to professional pages on your resume? When you click through, will people see well-formatted, well-written content that conveys the type of work they can expect from you? Ensure this is the case also for your blog, GitHub, LinkedIn and any other links you provide.
  5. Is your resume easy to scan? Give your resume to a friend and ask them to take a look at it for 5 seconds, then tell you their immediate impression. Did they see key details? Did they think it’s too crowded? Or that it has too little information?
  6. Is your resume simple enough? Are you using any “fancy” designs? If so, is this kind of “fanciness” getting in the way of readability? If it’s not in the way of readability, that’s great. However, if it’s making things harder to scan, consider going with something more simple. Note that for frontend, UX or design-heavy positions, some nice flair can be a great touch.
  7. Is the resume concise and to the point? Are you using short sentences? Do you have bullet points with rarely more than two lines?
  8. Are you bolding too much? Aim to not bold anything inside a sentence, like in this one. Only bold important things like job title, company name, date, or headers.
  9. Is formatting consistent? Are you using standard font sizes, and aligning with tabs, over spacing things to be approximately close?
  10. Are you using internal company jargon? Do you have project names that only people inside the company would understand? If so, consider changing them to describing the project.
  11. Do you have a (spoken) languages or a references section? You can probably remove both of these.
  12. Do links stand out with a different color or formatting? They shouldn’t. They take away space and attention.