Jake's Resume template, explained
Why the most-recommended LaTeX resume template for engineers works so well, what each section is doing, and how to keep its advantages if you are not using LaTeX.
Sobre esta página
La interfaz del sitio se muestra en tu idioma. El texto extenso de esta página fue escrito en inglés y todavía no se ha traducido.
If you have spent any time in engineering job-hunting communities, you have seen Jake’s Resume. It is a single-page LaTeX template, published under the MIT licence, and it has become the default recommendation for software engineers for a reason: it is dense without being cramped, it parses cleanly in applicant tracking systems, and it removes almost every decision that candidates tend to get wrong.
This post breaks down what the template is actually doing, section by section, and what to keep if you build your resume somewhere other than LaTeX.
The core constraint: one column
The single most important property of the template is that it is one column.
That sounds like an aesthetic choice. It is not. Applicant tracking systems - Greenhouse, Lever, Workday, Taleo and the rest - extract text from your PDF before a human ever sees it. Extraction follows the PDF’s internal content stream, not the visual layout. When you place a sidebar next to your main content, a parser can interleave the two: your skills list ends up spliced through your job history, and the resulting text is close to unreadable.
A single column has exactly one reading order, and it is the one you intended.
Two related rules follow from the same reasoning:
- No tables for layout. Some parsers flatten table cells in column order rather than row order.
- No text inside images. A graphic of your skills is invisible to a parser. If your name is in a logo, your name does not exist.
Section order
The template runs Education, Experience, Projects, Technical Skills.
That order is deliberate and it is aimed at students and early-career engineers. Education first makes sense when your degree is the strongest signal you have. Once you have a few years of experience, most people move Experience above Education - the template is easy to reorder, and you should.
What matters more than the exact order is that the sections are labelled conventionally. “Experience”, not “Where I’ve Been”. Parsers look for expected headings, and creative labels get dropped into an “other” bucket.
The heading line
Each entry packs four facts onto two lines: role, organisation, location, and date range. In the LaTeX version the dates are right-aligned using a table-like macro, which looks sharp in print.
If you are generating a PDF outside LaTeX, this is the one place worth deviating. Right-aligned dates require either a table or a multi-column block - the exact constructs that damage extraction. Putting the date inline instead:
Staff Engineer, Example Corp · Jan 2021 – Present
…loses a little visual polish and keeps the parse perfect. That is a good trade.
Bullets that carry numbers
The template gives you three to five bullets per role, and the convention that has grown around it is the strong one: lead with the action, end with a measurable result.
Compare:
Worked on improving API performance.
with:
Cut p99 API latency by 43% by replacing the job scheduler and batching writes.
The second one survives skim-reading. It also gives an interviewer something concrete to ask about, which is usually what you want - you are choosing the topic of the first ten minutes of your interview.
The Projects section is doing real work
For anyone without a long employment history, Projects is the section that carries the resume. The template treats it with the same structure as Experience: a name, a technology list, and bullets describing what the thing does and what you learned.
This is where a GitHub profile is genuinely useful. Repositories give you concrete, verifiable projects with a language breakdown and, if the work has been noticed, star counts that provide third-party validation. A project entry that reads:
atlas-runtime · TypeScript · 18,420 stars
A dependency-free runtime for scheduling background work in Node.
…does more for you than three lines of adjectives.
Technical Skills: a list, not a rating
The template ends with a compact, comma-separated list grouped by category - languages, frameworks, tools.
Resist two temptations. The first is skill bars or star ratings: they are meaningless to a reader, invisible to a parser, and they invite the question of why you gave yourself four stars instead of five. The second is listing everything you have ever touched. A recruiter searching for “Rust” will find it in a list of eight items just as easily as in a list of forty, and the list of eight looks like judgement.
What to keep if you are not using LaTeX
LaTeX is a real barrier for a lot of people, and you do not need it to get the benefits. The properties that make the template work are portable:
- One column, top to bottom.
- No tables, no images, no text in graphics.
- Conventional section headings.
- A real text layer - never a screenshot or an image-based export.
- One page, until you genuinely have more than a decade of relevant history.
That last point about the text layer catches people out. If you build a resume in a design tool and export it as a flattened image inside a PDF, it will look identical on screen and be completely empty to a parser. The test is simple: open the PDF, select all, copy, and paste into a text editor. If nothing comes out, no ATS can read it either.
Generating one from your GitHub
The resume export on resumefromgit.com follows exactly these rules. It builds a single-column document with a real text layer, uses a standard PDF font so that no font subsetting can interfere with extraction, and fills the Projects and Technical Skills sections directly from your public repositories. You add the parts GitHub does not know about - contact details, experience and education - and those stay in your own browser.
Generate yours from any GitHub username →