Jake's Resume template, without writing LaTeX

Jake's Resume is a one-page LaTeX template that many software engineers use: one column, clear section rules, and nothing a resume parser can trip over. fastcv lets you fill it in as a simple form and download the PDF free, or take the .tex file to Overleaf.

The sample .tex is the exact file fastcv compiles, filled with an example resume.

Jake's Resume with fastcv's sample content.

Why engineers use it

  • It reads cleanly. One column and standard headings (Education, Experience, Projects, Skills), so both recruiters and parsing software find things where they expect them.
  • It fits a lot on one page without looking crowded: compact section rules, dates aligned on the right, and tight bullet spacing.
  • It's typeset by LaTeX, so spacing, kerning and alignment are consistent in a way word processors rarely manage.
  • It's open source (MIT), so you can use and change it freely.

Overleaf or fastcv?

Editing the .tex in Overleaffastcv
How you editLaTeX codeA form; or the LaTeX code, if you prefer
Typos in commandsCompile errors to fixGenerated for you, special characters escaped
One-page checkLook at the PDFLive note as you type
Check against a job postNot built inMatch score, free
CostFreeFree PDF; optional AI tailoring is paid

They work together: start in fastcv, then open the same file in Overleaf if you want to change the code by hand.

The LaTeX source

What fastcv generates for the sample above. Credits to the original authors are kept at the end.

Show the full .tex (opens below)
%-------------------------
% Resume in LaTeX, made with fastcv
% Template: Jake's Resume (MIT license, notice at the end of this file)
% Compile with pdfLaTeX, e.g. on Overleaf.
%-------------------------

\documentclass[letterpaper,11pt]{article}

\usepackage[T1]{fontenc}
\usepackage{latexsym}
\usepackage[empty]{fullpage}
\usepackage{titlesec}
\usepackage{marvosym}
\usepackage[usenames,dvipsnames]{color}
\usepackage{verbatim}
\usepackage{enumitem}
\usepackage[hidelinks]{hyperref}
\usepackage{fancyhdr}
\usepackage[english]{babel}
\usepackage{tabularx}
\input{glyphtounicode}

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

% Adjust margins
\addtolength{\oddsidemargin}{-0.5in}
\addtolength{\evensidemargin}{-0.5in}
\addtolength{\textwidth}{1in}
\addtolength{\topmargin}{-.5in}
\addtolength{\textheight}{1.0in}

\urlstyle{same}

\raggedbottom
\raggedright
\setlength{\tabcolsep}{0in}

% Sections formatting
\titleformat{\section}{
  \vspace{-4pt}\scshape\raggedright\large
}{}{0em}{}[\color{black}\titlerule \vspace{-5pt}]

% Ensure that generate pdf is machine readable/ATS parsable
\pdfgentounicode=1

%-------------------------
% Custom commands
% No space before \vspace: in Jake's original, a bullet whose last line is exactly full spills that
% space onto an extra blank line.
\newcommand{\resumeItem}[1]{
  \item\small{
    {#1\vspace{-2pt}}
  }
}

\newcommand{\resumeSubheading}[4]{
  \vspace{-2pt}\item
    \begin{tabular*}{0.97\textwidth}[t]{l@{\extracolsep{\fill}}r}
      \textbf{#1} & #2 \\
      \textit{\small#3} & \textit{\small #4} \\
    \end{tabular*}\vspace{-7pt}
}

\newcommand{\resumeSubSubheading}[2]{
    \item
    \begin{tabular*}{0.97\textwidth}{l@{\extracolsep{\fill}}r}
      \textit{\small#1} & \textit{\small #2} \\
    \end{tabular*}\vspace{-7pt}
}

\newcommand{\resumeProjectHeading}[2]{
    \item
    \begin{tabular*}{0.97\textwidth}{l@{\extracolsep{\fill}}r}
      \small#1 & #2 \\
    \end{tabular*}\vspace{-7pt}
}

\newcommand{\resumeSubItem}[1]{\resumeItem{#1}\vspace{-4pt}}

\renewcommand\labelitemii{$\vcenter{\hbox{\tiny$\bullet$}}$}

\newcommand{\resumeSubHeadingListStart}{\begin{itemize}[leftmargin=0.15in, label={}]}
\newcommand{\resumeSubHeadingListEnd}{\end{itemize}}
\newcommand{\resumeItemListStart}{\begin{itemize}}
\newcommand{\resumeItemListEnd}{\end{itemize}\vspace{-5pt}}

%-------------------------------------------
%%%%%%  RESUME STARTS HERE  %%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{document}

\begin{center}
    \textbf{\Huge \scshape Aarav Sharma} \\ \vspace{1pt}
    Backend Engineer \\ \vspace{1pt}
    \small +91 98765 43210 $|$ \href{mailto:aarav@example.com}{\underline{aarav@example.com}} $|$ Bengaluru, India $|$ \href{https://github.com/aarav}{\underline{github.com/aarav}} $|$ \href{https://linkedin.com/in/aarav}{\underline{linkedin.com/in/aarav}}
\end{center}

%-----------SUMMARY-----------
\section{Summary}
 \begin{itemize}[leftmargin=0.15in, label={}]
    \small{\item{Backend engineer with 3 years building payment and notification services in Node.js and Go. Cut p95 latency by 40\% on a 2M-requests/day API.}}
 \end{itemize}

%-----------EXPERIENCE-----------
\section{Experience}
  \resumeSubHeadingListStart
    \resumeSubheading
      {Finly Payments}{Bengaluru}
      {Software Engineer II}{Apr 2024 -- Present}
      \resumeItemListStart
        \resumeItem{Rebuilt the payout reconciliation service in Go, reducing failed settlements by 62\%.}
        \resumeItem{Led migration of 14 cron jobs to an event-driven queue, saving Rs.\ 3.1L/month in compute.}
      \resumeItemListEnd
    \resumeSubSubheading
      {Software Engineer I}{Jul 2022 -- Mar 2024}
      \resumeItemListStart
        \resumeItem{Shipped UPI mandate flows used by 400K+ customers in the first quarter.}
      \resumeItemListEnd
  \resumeSubHeadingListEnd

%-----------PROJECTS-----------
\section{Projects}
    \resumeSubHeadingListStart
      \resumeProjectHeading
          {\textbf{rate-limiter-go}}{\small \href{https://github.com/aarav/rate-limiter-go}{\underline{github.com/aarav/rate-limiter-go}}}
          \resumeItemListStart
            \resumeItem{Open-source token-bucket limiter, 900+ GitHub stars.}
          \resumeItemListEnd
    \resumeSubHeadingListEnd

%-----------EDUCATION-----------
\section{Education}
  \resumeSubHeadingListStart
    \resumeSubheading
      {VIT Vellore}{2018 -- 2022}
      {B.Tech, Computer Science}{CGPA 8.7}
  \resumeSubHeadingListEnd

%-----------SKILLS-----------
\section{Skills}
 \begin{itemize}[leftmargin=0.15in, label={}]
    \small{\item{
     Go, Node.js, TypeScript, PostgreSQL, Redis, Kafka, AWS, Docker
    }}
 \end{itemize}

\end{document}

%-------------------------------------------
% Template: Jake's Resume, https://github.com/jakegut/resume
% (based on https://github.com/sb2nov/resume)
%
% MIT License
%
% Copyright (c) 2020 Jake Gutierrez
%
% Permission is hereby granted, free of charge, to any person obtaining a copy
% of this software and associated documentation files (the "Software"), to deal
% in the Software without restriction, including without limitation the rights
% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
% copies of the Software, and to permit persons to whom the Software is
% furnished to do so, subject to the following conditions:
%
% The above copyright notice and this permission notice shall be included in all
% copies or substantial portions of the Software.
%
% THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
% SOFTWARE.

Questions

Is Jake's Resume ATS friendly?

Its layout is what parsers handle best: one column, standard section headings, and real text with no tables, icons or graphics. fastcv also builds the PDF with T1 fonts and glyph-to-Unicode mapping, so the text copies and extracts cleanly.

Is it free to use?

Yes. The template is open source under the MIT licence, by Jake Gutierrez, based on the earlier open-source template sb2nov/resume. fastcv's PDF download is free too, with no watermark and no signup.

Can I edit it in Overleaf?

Yes. fastcv gives you the same .tex file it compiles, so you can download it or open it straight in Overleaf and keep editing the code there.

How do I keep it to one page?

Keep each bullet to one or two lines, cut older or weaker bullets first, and switch to the 10pt text size if you're close. The fastcv builder shows whether you still fit on one page as you type.

Can I add sections like Achievements or Certifications?

Yes. The template's commands work for any section. In fastcv, use Add section to add Achievements, Certifications, Positions of Responsibility and more, and reorder them, for example Education first if you're a student.

Make yours in a few minutes.

Import your current resume or start from the sample. Then check it against a job post.

Import my resume