A LaTeX resume from a well-chosen template tells a hiring manager something before they read a single word: this person knows their tools. For software engineers, quantitative researchers, and academics, that signal matters. What most LaTeX resume guides miss is that the template choice also determines whether your resume parses cleanly in the ATS standing between you and that hiring manager.
Why Developers and Academics Use LaTeX Resumes
Typography precision
LaTeX produces professionally typeset output that standard word processors cannot match. Character spacing, line height, hyphenation, and font rendering are handled by a typesetting engine rather than a WYSIWYG interface. The result is a document that looks like it came from a print production environment, not a consumer software tool.
Version control compatibility
LaTeX source files are plain text. This means you can track every change to your resume in Git, diff versions, branch for different job types, and maintain a clean history. For engineers who already live in terminal-and-editor workflows, this is a natural fit. Resume.docx in Dropbox is not.
Industry signaling
In software engineering, data science, quantitative finance, and academic research, a LaTeX resume is a soft signal that the candidate is technically competent and pays attention to detail. Hiring managers at tech companies and research institutions recognize the format. Jake's Resume has been trusted by 50,000+ software engineers specifically because it became a community standard in these circles.
Consistency across machines
A LaTeX-compiled PDF renders identically on every device. There are no font-substitution issues, no spacing shifts when opened in a different version of Word, no layout changes between Windows and Mac. For a document you are sending to dozens of employers, rendering consistency matters.
The ATS Compatibility Reality
LaTeX itself is not the ATS problem. Layout choices are. Here is what passes and what fails:
What passes ATS
- Single-column layouts compiled with pdflatex: Text flows in a single logical column, ATS reads it top-to-bottom, content is extracted correctly.
- Standard PDF text encoding: pdflatex embeds fonts in a way that makes text copy-pasteable from the PDF. If you can select and copy your name and work history from the PDF viewer, the ATS text extraction will work.
- Standard section headers: "Experience," "Education," "Skills" are universally recognized by ATS parsers. Custom headers like "Where I Have Worked" or "Things I Know" confuse some systems.
What fails ATS
- XeLaTeX and LuaLaTeX: These compilers are preferred for custom font loading and multilingual support, but they produce PDF output that some ATS parsers cannot extract text from reliably. Use pdflatex for job applications unless you have a specific reason to use XeLaTeX.
- Multi-column layouts: A two-column resume presents contact information or skills on the left and work history on the right. ATS systems typically read PDF text in the order it appears in the file, which for two-column layouts is often horizontally across the full width rather than within each column. The result is garbled output where "Python" and "2019-2022" appear mid-sentence in extracted work history.
- Custom fonts loaded as images: Some decorative templates embed font glyphs as vector images rather than text characters. These produce beautiful printed output but are completely invisible to text extraction.
- Graphics, tables, and text boxes: Content inside LaTeX table environments or TikZ graphics is often not extracted at all. Contact information placed in a header graphic is particularly dangerous: the ATS may have no way to identify your name or email.
- Unusual Unicode symbols: Decorative bullets, custom section separators using Unicode characters, and special glyphs may not be recognized by ATS character sets.
The Best LaTeX Resume Templates Compared
| Template | Best For | Style | ATS Risk | GitHub Stars / Usage |
|---|---|---|---|---|
| Jake's Resume | Software engineers, CS students | Minimal, single-column | Very low | 50,000+ users; industry standard |
| Awesome-CV | Polished professional look | Modern, colored header | Low (if pdflatex) | Widely forked; Overleaf gallery |
| Moderncv | Academic and research roles | Clean, multiple theme options | Low to moderate (classic theme) | Long-established; CTAN package |
| Deedy CV | Design-forward two-page CVs | Two-column, dense | Higher (two-column layout) | Popular in CS academic circles |
| SWE Resume Template | Software engineers, new grads | Single-column, structured | Very low | Specifically built for ATS safety |
Jake's Resume (deep dive)
Jake's Resume is the closest thing to a community standard for software engineering resumes. It is a single-column, minimal template that has been adopted by over 50,000 engineers across the industry. The reason for its dominance is not just aesthetics: it is genuinely ATS-safe by design.
The template uses pdflatex-compatible fonts, a clean single-column layout, standard section headers, and no graphical elements. Contact information is in plain text at the top. Every element is extractable by ATS parsers.
Here is the core structure of Jake's Resume so you can understand what makes it work:
\documentclass[letterpaper,11pt]{article}
\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}
\begin{document}
%----------HEADING----------
\begin{center}
{\Huge \scshape Your Name} \\ \vspace{1pt}
City, State $|$ \small \href{mailto:you@email.com}{you@email.com} $|$
\href{https://linkedin.com/in/yourprofile}{linkedin.com/in/yourprofile} $|$
\href{https://github.com/yourusername}{github.com/yourusername}
\end{center}
%-----------EDUCATION-----------
\section{Education}
\resumeSubHeadingListStart
\resumeSubheading
{University Name}{City, State}
{Bachelor of Science in Computer Science}{Aug. 2018 -- May 2022}
\resumeSubHeadingListEnd
%-----------EXPERIENCE-----------
\section{Experience}
\resumeSubHeadingListStart
\resumeSubheading
{Company Name}{Month Year -- Month Year}
{Job Title}{City, State}
\resumeItemListStart
\resumeItem{Accomplishment one with quantified impact}
\resumeItem{Accomplishment two using relevant keywords}
\resumeItemListEnd
\resumeSubHeadingListEnd
%-----------SKILLS-----------
\section{Technical Skills}
\begin{itemize}[leftmargin=0.15in, label={}]
\small{\item{
\textbf{Languages}{: Python, Java, C++, JavaScript} \\
\textbf{Frameworks}{: React, Node.js, Django, FastAPI} \\
\textbf{Tools}{: Git, Docker, Kubernetes, AWS}
}}
\end{itemize}
\end{document}
Key observations: no graphics, no two-column layout, no custom fonts, contact information in plain text at the top, technical skills in a plain text list. Every element passes the copy-paste test.
Awesome-CV
Awesome-CV produces a polished, visually distinctive resume with a colored header bar and clean section dividers. It is widely available on Overleaf and popular in professional circles. The ATS risk is low when compiled with pdflatex and when the header color is implemented as LaTeX color rather than an image. Verify with the copy-paste test before submitting to ATS-heavy portals.
Moderncv
Moderncv is an established LaTeX package (available via CTAN) with several themes: classic, banking, casual, and oldstyle. The classic and banking themes are single-column and ATS-safe. The package is widely used in academic circles, where CV formatting conventions differ from industry resumes. For PhD applications, research roles, and academic job markets, Moderncv's structured format is appropriate.
Deedy CV
Deedy CV is visually distinctive and popular in computer science PhD programs. Its two-column layout, however, is a known ATS parsing risk. If you use Deedy CV for industry applications, test your output with the copy-paste method before submitting. For academic applications where the document goes directly to a faculty committee rather than through an ATS portal, this risk is less relevant.
How to Use LaTeX Resume Templates on Overleaf
Overleaf is a browser-based LaTeX editor that requires no local installation. The free plan is sufficient for resume building. Here is the step-by-step process:
- Create a free Overleaf account at overleaf.com. No credit card required for the free tier.
- Browse the template gallery at overleaf.com/gallery and filter by "CV." Jake's Resume, Awesome-CV, and Moderncv are all available.
- Click "Open as Template" on your chosen template. Overleaf creates a copy in your account that you can edit directly.
- Edit the .tex source file in the left panel. Replace placeholder text with your actual information. The preview panel on the right updates automatically.
- Verify the compiler setting. In Overleaf, go to Menu (top left) and confirm "Compiler" is set to pdfLaTeX. This is the ATS-safe option.
- Compile and download. Click the green "Recompile" button to generate the PDF. Download via the PDF icon. The file is ready to submit.
- Run the copy-paste test on your downloaded PDF before submitting to any application portal.
LaTeX vs Word vs Google Docs: When to Use Each
| Situation | Recommended Format | Reason |
|---|---|---|
| Software engineering (new grad / internship) | LaTeX (Jake's Resume) | Industry standard; ATS-safe; signals competence |
| Academic applications (PhD, postdoc, faculty) | LaTeX (Moderncv or Awesome-CV) | Expected format; CV conventions differ from industry |
| Quantitative finance, data science | LaTeX or Word | Either accepted; LaTeX preferred for research-adjacent roles |
| Corporate / non-technical roles | Word (.docx) or Google Docs | DOCX parses more reliably across legacy ATS systems |
| Recruiter submission (staffing agency) | Word (.docx) | Recruiters often edit candidate resumes; .docx is required |
| Creative / design roles | PDF from InDesign or Canva | Visual presentation outweighs ATS concerns for these roles |
| Federal government applications | Plain text or USAJobs builder | USAJobs has specific format requirements; LaTeX is overkill |
ATS Testing Your LaTeX Resume
Compiling successfully and producing a PDF is not the same as passing ATS. Here is the three-step testing process:
Step 1: The copy-paste test
Open your compiled PDF. Select all text (Ctrl+A / Cmd+A). Paste into a plain text editor. Check: Is your name at the top? Does your work history read in chronological order? Are your skills listed coherently? If the pasted text is scrambled or missing sections, your ATS extraction will fail.
Step 2: Application portal preview
Many ATS portals (Workday, Greenhouse, Lever) show a preview of the parsed resume before you submit. Use this preview to check that your contact information, work history, and skills sections appear as expected. If the portal shows garbled or missing text in the preview, do not submit until you resolve the issue.
Step 3: Job-specific ATS scoring
Even a perfectly parsed LaTeX resume can score poorly against a specific job if it lacks the right keywords, skill terminology, or job title alignment. After confirming your PDF parses cleanly, run it through an ATS checker against the actual job description you are targeting.
Resume Optimizer Pro's free ATS checker scores your resume against the specific job posting using the seven-category model enterprise ATS platforms use: skills, job titles, education, certifications, management level, industries, and languages. This is the step most LaTeX resume guides skip entirely.