DEV Community

Cover image for Your new pretty and minimalist resume with LaTex

Posted on


Your new pretty and minimalist resume with LaTex

Hi everyone, today we are going to take a look at how we can create a pretty resume using LaTex.

Minimalist and concise

When writing a résumé we always want to achieve a minimalist and concise document to easily catch the eyes of any recruiter/company. To do so, we want to organize its content into 2 columns, having a good spacing for all the content to fit without losing readability. And here is where LaTex comes to the rescue.

I split my resume into: Skills (33%) and Work Experience (66%) columns.


Enter fullscreen mode Exit fullscreen mode


Before describing each section, let's have a look at the final result

# Name Section

This is a command that takes 2 parameters: first name and last name. The last name has a thicker font and uses the accent color.

Enter fullscreen mode Exit fullscreen mode

# Skills

Here you want to list all your skills and additional information. As you can see in the preview, this column has several sections: Info, Education, Course Work, Skills, and Languages.

\ Info

Enter fullscreen mode Exit fullscreen mode

Here we place general information: location, date of birth, contact information, links. I think having plain urls looks pretty ugly so I decided to follow the following format: {domain}//{user_name}. This way it's easier to have an idea of what the link is about. E.g.

Enter fullscreen mode Exit fullscreen mode

\ Education

Enter fullscreen mode Exit fullscreen mode

For this section I opted for the following format, where each entry is a subsection

{University Acronym}
{University Name}
{Year} | {State, Country}
Enter fullscreen mode Exit fullscreen mode


\location{National University Of Córdoba}
\descript{BSc. in Computer Science \\
BSc. in Physics}
2017-2019 | Córdoba, Argentina
Enter fullscreen mode Exit fullscreen mode

\ Course work

\section{Course Work}
Enter fullscreen mode Exit fullscreen mode

A list of all the courses you have finished or certifications you have obtained so far. Here you want to add a link to your certificate if possible (Coursera, Udemy, EdX, etc). If there is no certificate you could add a link to the course syllabus.

\ Skills

Enter fullscreen mode Exit fullscreen mode

For this section, I wanted to list all the tools/languages I know and have experience with, for which I added different \subsections:

  • Programming: all the languages I have experience with
  • Infrastructure: all the infra tools I have experience with
  • Storage: all the storage solutions I have experience with
  • Familiar With: all the technologies I have used for personal projects or PoC at different companies.

\ Languages

Enter fullscreen mode Exit fullscreen mode

The last section is dedicated to the languages you speak, with information about your level. In my case I have used the Common European Framework of Reference. E.g.

\textbf{Spanish:} Native\\
\textbf{English:} C1\\
Enter fullscreen mode Exit fullscreen mode

# Work Experience

This is, of course, the main section of our resume. Over the years I learned that a good work experience description should provide the following information:

  • Company Name and Website
  • Your Position
  • Month and year
  • Location
  • Very small description of the company/product
  • What where your main tasks/accomplishments in the company. (Here is the real deal so let's get into more details in the next section).
  • Tech Stack: the company's tech stack. Be careful about not revealing sensitive information.

# Describing your position at company X

I have seen a lot of resumes during my career and I think most of the people fail at describing what they've done while working at company X. So to make it easier, let's list what a good description should have:

  • Achievements: what you have achieved while working in company X? Did you create something amazing? As example, you could write: "I refactored the search algorithm which led to an improvement of 70% in performance". It must be something you feel proud about.
  • What tasks did you enjoy at this position? "I created a PoC to add rust to our event processor"; "I created new tools for automatize deployments"
  • Some trivial tasks: "Prepared migration from Vue to React". Maybe you didn't enjoy these tasks but they were part of your tasks at company X.


\runsubsection{\href{https://cool-00.example/}{Cool Company 00}}
\descript{| Senior Software Engineer}
\location{\ello{\textbf{Aug 2021 – Present} | Munich, Germany | Cool platform}}
\item Developed a cool algorithm that increased the speed of transactions by 70\%
\item Migrated cloud to AWS
\item {\bf Tech Stack:} NodeJS, ReactJS, Typescript, JWT, Web Sockets, Jest, ExpressJS, Go, RabbitMQ, Temporal, Kubernetes, PostgreSQL, GCloud, Github Actions, Argo CD, Sentry\newline
Enter fullscreen mode Exit fullscreen mode

# Fonts

Ideally, you want to choose fonts that are easy to read and do not look too fancy. For this project I have used 2 google fonts in order to:

  • have a geek font for the Skills, locations, positions.
  • have a "normal" font for the jobs descriptions.

You can easily change these fonts in the resume.cls file.

\setmainfont[Color=primary, Path = fonts/maven-pro/, BoldFont=MavenPro-SemiBold]{MavenPro-Regular}
Enter fullscreen mode Exit fullscreen mode

# Colors

Colors are defined as follow

Enter fullscreen mode Exit fullscreen mode

Note that links is our accent color.

That's it!
This post ended up being longer than I expected. I hope you found something useful here and I'm looking forward to see your customizations!


GitHub logo protiumx / dev.resume

Your new pretty and minimalist resume


Your new pretty and minimalist resume. Based on:




You can change the fonts as you want. I recommend taking a look at google fonts


You can change any color in the class definition.

  • primary: #2b2b2b
  • headings: #6A6A6A
  • subheadings: #333333
  • links: #33AFFF


  • \namesection: The resume header for your name. It expect to arguments: first name and last name
  • \runsubsection: For company name
  • \location: Location of the company


You need a xelatex compiler. I used overleaf to edit and compile my resume.


If you find this project useful you can support my work with:

Buy Me A Coffee

Top comments (0)

Why You Need to Study Javascript Fundamentals

The harsh reality for JS Developers: If you don't study the fundamentals, you'll be just another “Coder”. Top learnings on how to get to the mid/senior level faster as a JavaScript developer by Dragos Nedelcu.