DEV Community

Cover image for Build a unique résumé
Daniel Fitzpatrick
Daniel Fitzpatrick

Posted on

Build a unique résumé

Well-documented resources can help make your résumé stand out even if you aren't artistic. Today, I'll walk you through how I used existing resources to build an exciting résumé without design knowledge.

Latex is essential, IMHO. Other tools simplify résumé creation by degrees, but Latex will help you avoid the cookie-cutter stereotype. I pay for Overleaf, but anyone willing to learn Latex can do this for free.

An additional benefit to Latex is using it to generate PDFs. It's the primary publication format on Overleaf.


Although this post is mostly about résumé presentation, a small portion is about content.

I am not an expert recruiter and am not sharing advice to help you pass ATS software. I am sharing approaches I have learned to promote myself to people, and I am still learning!

Please be nice in the comments.


Scan for the 💡 to pick out helpful suggestions, like the suggestion below.

💡 A benefit PDFs have over some alternate formats is that it's more difficult for a recruiter to change your perfectly-crafted résumé.

Choosing a template

It starts with a good template. I chose this one because

  1. It claims to be easy to alter
  2. It places the sidebar on the right

💡 A lot of résumés place their sidebar on the left, but that is sub-optimal for content placement. A left sidebar will cause more lines to overflow in your primary content area, which means you can shove more content onto a page with the sidebar on the right.

top of the template

Transferring content

I have a lot of content from my old résumé, so I'm going to transfer that first, minus some contact information. I won't go into all the details, but it's probably worth pointing out how I changed the header, images, and bar graph.

The header is full of clickable contact info.

\address{Bowling Green, Kentucky}
Enter fullscreen mode Exit fullscreen mode

I uploaded a personal photo, edited it with Gimp, and exported it to PDF.1

Enter fullscreen mode Exit fullscreen mode

The template measures experience with various tools in hours, but I want to instead express a vague competency with each tool using values 1-10. Also, in my old résumé, I used a heart to express an affinity for a particular tool. 😉

\skillset[label/0\hfill 10]{SQL/.8,Java/.5,Perl/.6,C\#/.5,♥ Clojure(script)/.9}
Enter fullscreen mode Exit fullscreen mode

💡 The major categories should be placed on the page from most relevant to least relevant, top to bottom. In my case, this means Professional Experience should go at the top.

transition from template to IRL résumé

Cleaning up

What's that unsightly comma doing there?

unsightly comma

The honors section I re-purposed for Research has some incorrect assumptions. You can see the problem here, in ReCeiVe.cls.

code producing the comma

You can also see an alignment issue near the top. That is because I omitted the position field.

alignment issue

We can fix that by adjusting the experience section position. After figuring out a rough measurement, I added this line to the top of cvSections/professionalExperience.tex.

Enter fullscreen mode Exit fullscreen mode

fixed alignment


Theme it!

💡 You don't have to be an artist to pick a good color palette. Many tasteful palettes exist already because we've been theming our desktops and editors for ages. I encourage you to visit r/unixporn for inspiration.

I have chosen the Nord theme for my résumé. The docs are essential.

💡 A dark style can be tempting. However, some people will print your résumé, which makes light styles a better choice in most cases.

I begin by copying the palette into ReCeiVe.cls in the Color configurations section.

Enter fullscreen mode Exit fullscreen mode

You can tweak the color of some elements immediately.

Nord0 is intended to be used for text.

nord0 description

Nord7 is perfect for subheadings.

nord7 description

Nord9 and Nord10 are suitable for the job title beneath the Business subheading. After playing around, I decided on Nord10.

nord10 description

Finally, Nord1 is perfect for the lighttext class of elements. Just look at the tagline.

nord1 tagline

In Latex, it all looks like this bit of templating.

Enter fullscreen mode Exit fullscreen mode

Here, you can see how this breaks down.

experience breakdown

That styling looks good, but I have a nagging feeling that the location should be Nord10 to match the date range. That's easy to change in ReCeiVe.cls under "Section styles".

\newcommand*{\entrylocationstyle}[1]{{\fontsize{9pt}{1em}\bodyfontlight\slshape\color{graytext} #1}}
Enter fullscreen mode Exit fullscreen mode

fixed experience

Now it looks better.

Next up, we have another minor issue with our template. We can set the header color, but the background color is hardcoded to black. So, we need to change that in a couple of places in ReCeiVe.cls.

First, we define a new color, highlightbox, so named because our title color is highlight. I default it to black to preserve the original style.

Enter fullscreen mode Exit fullscreen mode

Then, we replace \colorbox{black} with \colorbox{highlightbox} everywhere it occurs. Finally, we can set the colors for our new header.

Nord8 must be our header color.

nord8 description

And Nord doesn't leave us any questions about the new background color either. It's obviously Nord6.

nord6 description

Here's the template code.

Enter fullscreen mode Exit fullscreen mode

And here is the result.

new header

The main body looks promising. But, unfortunately, our sidebar looks like trash. So, let's examine that next.

Fixing the sidebar

nasty sidebar

Here is where I think the major problems lie.

  1. The sidebar color does not belong to the Nord color scheme.
  2. The bar graph colors do not belong to the Nord color scheme.
  3. The bar graph labels appear to be styled with the same color as the main headers. They would look better if they matched the font and color of the job title from the previous section.
  4. The sidebar corner radius is too large.

Let's take this one by one.

I will take the same approach as highlightbox to fix the sidebar color. Start by defining a new color in ReCeiVe.cls.

Enter fullscreen mode Exit fullscreen mode

You want to set the fill to that color.

where to change the fill color

Last, I set the sidebarcolor near the top of my résumé.

Enter fullscreen mode Exit fullscreen mode

fixed background

That is a significant improvement to our sidebar, but fixing the background color has caused the graph labels to stick out even more. So let's fix them next.

That is pretty easy to do. Just find the For elements of sidebar section of ReCeiVe.cls and

  1. Set the color to graytext.
  2. Set the font to scshape.

where to change the label color

fixed skill labels

Nice! However, like with the last change, the improved labels make the bar graph stick out worse than before. So let's tackle the bar graph next.

Once again, I will take the same approach as highlightbox and sidebarcolor. Start by defining some colors in ReCeiVe.cls.

Enter fullscreen mode Exit fullscreen mode

Then use them in the skills definition.

where to change the skills definition

Finally, set the colors at the top of your résumé. But what colors should we use?

I feel like the goal of expressing "a vague competency with each tool" is better served by matching the background color with the sidebar color. The Nord8 description suits the bar graph color, perhaps surprisingly.

# near the top of the resume
Enter fullscreen mode Exit fullscreen mode

Finally, I want to ensure that the ♥ symbol has a suitable color, so I chose a reddish hue from Nord, Nord11.

\skillset[label/0\hfill 10]{SQL/.8,Java/.5,Perl/.6,C\#/.5,{\color{nord11}} Clojure(script)/.9}
Enter fullscreen mode Exit fullscreen mode

Our histogram looks fantastic!

fantastic skills

Last, let's tackle these feathery corners. I will use the same approach as before. First, define a value sidebarRadius in ReCeiVe.cls.

Enter fullscreen mode Exit fullscreen mode

Then, apply that to the sidebar definition.

where to apply the sidebar radius change

Finally, please give it a new definition near the top of your résumé.

Enter fullscreen mode Exit fullscreen mode

Last, I am going to remove the ring around my portrait. Find the \photo definition near the top of your résumé, and change edge to noedge.

finished sidebar

That sidebar is looking good now!

Improve "skimmability."

I have links in the main body of my résumé. In the future, they may be in the sidebar, too. Can you find them in this image?

hidden links

Congratulations if you picked this yellow highlighted area.

links exposed

💡 Quickly identifiable links will encourage hiring managers to explore beyond your résumé. It gives you depth.

We can do better. Latex allows you to customize bullet points, so let's use the "chain link" Unicode character. Other characters could work, too. You can also remove the bullet point and move the symbol to the right - dealer's choice.

I'm going to edit these three bullets in cvSections/professionalExperience.tex.

\item[{\fontspec{Symbola}\symbol{"1F517}}] \href{}{Using EC2 to enhance K6 load tests}
\item[{\fontspec{Symbola}\symbol{"1F517}}] \href{}{Solving a DRY problem with UNIONs using HoneySQL}
\item[{\fontspec{Symbola}\symbol{"1F517}}] \href{}{Recording HikariCP metrics in Clojure}
Enter fullscreen mode Exit fullscreen mode

identifiable links

💡 It's good to maintain this practice in new sections, even if they're stylistically different.

different links

What to emphasize?

💡 You probably already know that it's best to emphasize significant contributions and accomplishments at prior institutions.

That approach can be more difficult for developers than it sounds. Take this line from my résumé, for example.

highlighted line reads "Developed a Point-of-sale integration to guarantee a new account"

When I think about that accomplishment, the customer is of little interest to me. Instead, I recall the niche technology and strange development environments: coding on a 5-gallon plastic bucket in the middle of a grocery store self-checkout area.

💡 An interview is largely about determining the boundaries of your comfort zone.

I think some developers have a blind spot about that. Your comfort zone includes technology but also people. Think about the social aspect. Are you comfortable talking with a customer, for instance?

Identifying comfort zone boundaries can be framed as a contribution. Again, from my résumé.

highlighted line reads "consulted on various projects with customers"

💡 You should absolutely tout and link to significant open-source contributions. PRs, reviews, projects, blogs. Whatever you think highlights the qualities you want to promote.

I think some developers view their open-source contributions as orthogonal, irrelevant, and perhaps even detrimental to their image during a review. That view couldn't be further from the truth. I have met more than one hiring manager who elected to do a codebase walkthrough instead of a technical assessment.

My final résumé has these sections.

"open source contributions" and "repos" sections

Final result

final result

Here it is. Does it look compelling? Please give me your thoughts!

  1. 💡 Self-portraits add polish, but recruiters may suggest they harm résumés because hiring managers can subconsciously accept or reject you based on your appearance. Choose wisely. 

Top comments (0)