UP | HOME

NOTE: write your resume in LaTeX

First of all, a resume should reduce the job that HR has to do, stop ruining your resume is a good article you should read first if you have no idea why you want to use template resume. A resume should be modified for every particular job, thus, I would make a collection document about all my projects, experiences, etc. Reassemble them into a new resume for that job, to get it done fast, LaTeX is a good choice. LaTeX also makes sure producing stable pdf files is easy. Let's get started!

I recommend you use tectonic for the following work. At least the resume I show you here is ok to compile with it, it can reduce your job a lot.

Thanks [cite/t:@wdv4758h] for recommending tectonic

Now, a good start is made by Anubhav Singh, and I make some changes to make them easier to maintain

%------------------------
% Resume Template
% Author : Anubhav Singh
% Github : https://github.com/xprilion
% License : MIT
%------------------------
\documentclass[a4paper,20pt]{article}
\usepackage{latexsym}
\usepackage[empty]{fullpage}
\usepackage{titlesec}
\usepackage{marvosym}
\usepackage[usenames,dvipsnames]{color}
\usepackage{verbatim}
\usepackage{enumitem}
\usepackage{hyperref}
\usepackage{fancyhdr}

\pagestyle{fancy}
\fancyhf{} % clear all header and footer fields
\fancyfoot{}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}

% Adjust margins
\addtolength{\oddsidemargin}{-0.530in}
\addtolength{\evensidemargin}{-0.375in}
\addtolength{\textwidth}{1in}
\addtolength{\topmargin}{-.45in}
\addtolength{\textheight}{1in}
\urlstyle{rm}
\raggedbottom
\raggedright
\setlength{\tabcolsep}{0in}
% Sections formatting
\titleformat{\section}{
  \vspace{-10pt}\scshape\raggedright\large
}{}{0em}{}[\color{black}\titlerule \vspace{-6pt}]

We would need some new commands

% Custom commands
\newcommand{\resumeItem}[2]{
  \item\small{
    \textbf{#1}{: #2 \vspace{-2pt}}
  }
}
\newcommand{\resumeItemWithoutTitle}[1]{
  \item\small{
    {#1 \vspace{-2pt}}
  }
}
\newcommand{\resumeSubheading}[4]{
  \vspace{-1pt}\item
    \begin{tabular*}{0.97\textwidth}{[email protected]{\extracolsep{\fill}}r}
      \textbf{#1} & #2 \\
      \textit{#3} & \textit{#4} \\
    \end{tabular*}\vspace{-5pt}
}
\newcommand{\resumeSubItem}[2]{\resumeItem{#1}{#2}\vspace{4pt}}
\renewcommand{\labelitemii}{$\circ$}
\newcommand{\resumeSubHeadingListStart}{\begin{itemize}[leftmargin=*]}
\newcommand{\resumeSubHeadingListEnd}{\end{itemize}}
\newcommand{\resumeItemListStart}{\begin{itemize}}
\newcommand{\resumeItemListEnd}{\end{itemize}\vspace{-5pt}}

Finally, start writing resume

\begin{document}

\begin{tabular*}{\textwidth}{[email protected]{\extracolsep{\fill}}r}
  \textbf{{\LARGE Your name}} & Email: \href{mailto:}{[email protected]}\\
  \href{your site url}{Site: your site} & Mobile:~~~your phone \\
  \href{your github url}{Github: you github} \\
\end{tabular*}

\section{~~Education}
  \resumeSubHeadingListStart
    \resumeSubheading
      {Your school}{school location}
      {Degree and your department}{date start to end}
      {\scriptsize \textit{
        \footnotesize{\newline{}\textbf{Courses:} courses you take.}
      }}
  \resumeSubHeadingListEnd

%%% TODO

\end{document}

Now run tectonic resume.tex to view some results. Then we add something at TODO place, notice if you were missing something below, just skipped them.

1. Skills Summary

I highly recommend only putting those you very experienced here.

\vspace{-5pt}
\section{Skills Summary}
  \resumeSubHeadingListStart
    \resumeSubItem{Languages}{...}
    \resumeSubItem{Frameworks}{...}
    \resumeSubItem{Tools}{...}
    \resumeSubItem{Platforms}{...}
  \resumeSubHeadingListEnd

2. Experience

Put every experience up, unless you have already worked for more than five companies.

\vspace{-5pt}
\section{Experience}
  \resumeSubHeadingListStart
    \input{experience/job-1.tex}
    \vspace{4pt}
    \input{experience/job-2.tex}
    \vspace{4pt}
    \input{experience/job-3.tex}
    \vspace{4pt}
    \input{experience/job-4.tex}
  \resumeSubHeadingListEnd

I recommend you also organize experience like this, as I say, you might need to ignore some experiences when applying for certain jobs.

2.1. In each experience

% experience/xxx.tex
\resumeSubheading
{Company}{Location}
{Position (Kind: Part-time, Fulltime)}{date start to end}
\vspace{3pt}
\textit{\newline{} What you doing here}
\resumeItemListStart
  \resumeItemWithoutTitle{First achievement.}
  \resumeItemWithoutTitle{Second achievement.}
  \resumeItemWithoutTitle{Third achievement.}
\resumeItemListEnd

3. Projects

As experience section, but you are likely to have more projects than experiences, so breaking them down for selection is a good idea.

\vspace{-5pt}
\section{Projects}
  \resumeSubHeadingListStart
    \input{project/project-1.tex}
    \input{project/project-2.tex}
    \input{project/project-3.tex}
  \resumeSubHeadingListEnd

3.1. In each project

\resumeSubheading
{\href{project url}{project name} - Short description}{Language/Technology}
{(Status) sentence level description.}{date start to end}
%% If you want to explain more, write here

Date: 2022-07-07 Thu 00:00

Author: Lîm Tsú-thuàn