Make a Resume in LaTeX
drshika.me
drshika.me
edit: grammar
As an example, recently, I had to create a bunch of FAQ pages, and I created a tool like [1]. While Pandoc can be used, I still need to worry about (at least basic) formatting the doc while typing it out in the word processor to make it look good in the HTML output.
I’ve been doing my résumé in ConTeXt. Seems like it’s more expected in ConTeXt that you mess with the styling.
\reshdr{Software Engineer, Yoyodyne}
\ressub{November 1981--June 1984}
\startresdesc
Made a million widgets.
\stopresdesc
It’s reasonably common & expected in ConTeXt to define your own macros for custom sections or whatever you need. ConTeXt has macros to define macros… \definehead[reshdr][subsection]
\setuphead[reshdr][textstyle=\bfx,number=no,before=\vskip 1em,after={},align={flushleft,nothyphenated}]Additionally, CSS really needs way to say "when text overflows from this container, put it in this other container". With that, it could replace Indesign for me.
That said the rate of improvement with CSS is really great. :has() alone is super powerful. I also love color-contrast().
However, it seems to have been abandoned.
If writing math is not what the job that you’re applying to is looking for in you, you should probably only use LaTeX for your own enjoyment.
If your CV is generated from LaTeX -> PDF and all of the others are Word -> PDF, your CV will subtly stand out. Depending on the reader, the subconscious/conscious connection with CS papers may be a plus or a minus.
It's hard to say if having my CV in LaTeX has actually helped me, but this is the reason I use LaTeX for my CV.
But yes, a paper written in MS Word is glaring by how it handles kerning and hyphenation. You'd be surprised how much products teams don't care about type setting (and Google Docs at Google where I work now is about the same).
So these are still broken in modern word-processors? Or expected to be manually tweaked? Seems odd decades later.
But I was a EE student so maybe it'd be different in another field.
I used to collaborate with MSR and never saw anything but LaTeX being used. If you look at the level of sophistication in many of their papers it’s not something Word can even begin to achieve.
Also, probably this is a biased opinion because of the time and ready macros and styles I developed and tweaked over time that serve almost everything I type. But I find LaTeX superior. More related, I keep my resume updated in LaTeX on GitHub repository with versioning (actually overleaf professional account gives you this versioning option also) and it is much easier to do quick edits to add a new conference/workshop. And a GitHub action will build the PDF and add a new release with the commits as change log. This is a simple system that takes sometime to put together but will make keeping your resume a much easier and organized and you can keep track of changes.
However, I'd argue that industry-focused resumes are often a poor fit for latex. For an academic CV where going an extra page when you add a new detail is no big deal, latex is perfect. For a business resume, where one face of one page is the absolute most allowable and you're trying to keep content on one page, it gets rough.
I'm not sure it's worse than using other things, but "keep the layout on one page hacks" get pretty messy pretty quick in latex.
You're expected to have a substantial publication history, but including that on a resume will get it thrown in the trash immediately.
Including your full work history will also get it thrown away quickly. Ditto with full education. Last degree only. A fair bit of detail from your most recent 2-ish jobs. Key certifications. Nothing else.
I’d expect someone with 10+ years of experience to use a second page. My résumé is about a page and a half. Old (but relevant!) job experience has already been cut down to a single-line description for each job. At some point, there’s just too much content for one page, even if you ruthlessly edit your résumé down and just give the most essential details.
You could have an entire discussion about how long people should stay at their jobs, but I don’t think it’s unusual to see someone with 4+ jobs in 10 years on their résumé, and it’s not ipso facto a red flag. I also have a small number of non-work projects which belong on my résumé. People will also put non-industry work experience on their résumé.
This is the best kept secret that is blantly shown openly in Word.
Styles. You select the text you want to be a certain type (quote, title, header, whatever) and mark it. If you don't find a suitable style, you create a new one.
Then, later, you can change your styles to look however you want, including margin, font, etc.
Using Word you do not have to choose what it should look like while you write it, and unlike LaTeX, (which I love) you can see what it will look like at any given time.
LaTeX might still be worth it for large documents (e.g. books) with lots of mathematical type-setting, but for small stuff Word is much easier.
Definitely more manageable, especially when it comes to alignment, multi-page tables and fonts.
Previous template: https://github.com/denysvitali/cv Rendered: https://github.com/denysvitali/cv/blob/master/main.pdf
Unless you are applying for TV/Movies/Modeling....
Hiring person might have a bias against people with blonde/brown/black hair. Oh! they look like they are cocky and difficult. This person reminds me of my ex, there is no way I could be in the same office.....
This list of biases are endless. Sexism/Racism/Ableism/Ageism/etc are all given a free pass if you include a picture, but become various shades of obscure without it.
jk, I do benefit from white privilege and with a name as common as John Smith I am sure I pass many other unseen/unknown-to-me hurdles.
I wasn't trying to argue/fight or even educate, simply carrying on the conversation as I thought it was occurring. Explain my thought process and reasoning for questioning the practice. If you feel confronted, I humbly apologize.I know that in some countries it is suggested to not put a picture on the CV because they want to be as unbiased as possible - but this is generally not an issue where I live.
In any case, as an Hiring Manager I do appreciate seeing the faces of the candidates on their CVs. It adds some personality to the CVs that are generally just black & white.
But again, this is very cultural and might be seen in the wrong way in, say, the US.
[1]: https://github.com/denysvitali/cv-2
[2]: https://cv.denv.it/
One major downside of LaTeX generated PDFs is HR's pdf parsers mangle them, and you'll spend hours manually keying elements into any application website you're unfortunate enough to encounter. It's probably a wash.
For a CV, LaTeX is way, way, way better for your personal bibliography. BibTex/BibLaTeX make it so nice to have a list of publications in your document.
\section{Publications}
\blfootnote{\adforn{63} indicates Editors' Suggestion}
\begin{enumerate}[align=right]
\item [\adforn{63}\,\stepcounter{enumi}\labelenumi] \fullcite{greatpaper}
\item \fullcite{prettygoodpaper}Can you expand on this? I would have thought that parsing a LaTeX PDF would be way, way easier than some random word processor's export-to-PDF.
There's also a chance that they mangle everybody's documents, and HR is just inflicting hours of toil on millions for no real reason at all.
Well structured Word files are based on forms and have well-labeled fields. That might help? I dunno. Maybe a Microsoft person or a Salesforce person can lift the curtain a smidge.
You’d think that the “semantic” nature of LaTeX makes it easy, but there’s an expansive set of macros between the source document and the PDF.
Just one example—LaTeX does things like replace “---” with “—” or replace “fi” with “fi”. How does LaTeX do it? At some point, somebody wrote some code which recognizes those patterns in the source file and emits the appropriate glyph. But these replacements are not equivalent—the “---” em dash needs to be a Unicode character with its own glyph, and “fi” needs to be two characters that share one glyph. Not important for DVI files, but important for PDF files where you want to copy the text out.
You can get this to work in LaTeX but it won’t work correctly by default, depending on how you are getting a PDF file. You end up with a preamble in all your LaTeX files to make them work nicely. You also probably want to use xelatex or lualatex instead of pdflatex (I don’t keep up with this stuff—get up to date recommendations elsewhere).
I figure that if that can extract the raw text correctly without mangling it, then it'll probably be okay for whatever applicant tracking system a company is using.
(My preference for my resumé these days is LuaLaTeX with nice OpenType fonts.)
Having written my thesis in it, I can say that it very much isn't. If you don't plan ahead and make sure you split chapters into individual files it takes actual minutes to compile and when it doesn't it's nigh impossible to figure out where the problem is because the error logs somehow manage to be less useful than if there weren't any logs at all.
It's a very nice idea in concept but the implementation is just arghhh. My current go-to for this sort of thing is Markdown instead. It may be far less powerful but it's also far more practical in almost all cases.
For visual presentation, I would suggest desktop publishing software are the right tool for the job. I personally like Scribus because it's open soucre. Something like this is trivial with desktop publishing and would be really time consuming with LaTeX: https://i.xkqr.org/screenshot_2023-01-24T19:21:25.png
[1]: The strength of LaTeX is in consistently typesetting long texts well – it's nearly unbeatable in that area.
I generally edit the résumé and fine-tune it for each position I’m applying for. That’s easy to do when the sources are plain text, and I can just diff different versions to see what edits I’ve made in the past.
I’m not applying for graphics design or marketing positions. A résumé can look nice, but it’s not all about visual presentation and layout—it’s about content first, and the layout is just there to support the content and make it easy to read. Long ago, I made my résumé using professional layout software. Adobe InDesign, actually. I switched to ConTeXt mostly because it’s easier to make content changes. I haven’t used Scribus, but my experience is that making content changes in layout software is often annoying, unless you’re using some really basic templates or you’ve put a lot of work into your workflow.
Of course, most of the jobs I've applied for in recent years have required me to enter my experience section-by-section into a Web form, negating the purpose of the CV entirely. Once or twice I've seen tools that allow you to upload your CV PDF and then attempt to extract as much info from it as possible. It's never gone very well, so it does make me think that LaTeX vs DTP vs Word is a less pertinent question to debate than ‘how can I produce a CV that can best be automatically parsed’. Absent any sort of structured CV data standard, I assume that means using the most widely-used tool to produce it, i.e. Word.
Having a single source of truth for web and PDFs is pretty nice. Editing Markdown is more pleasant than either HTML or LaTeX, and yet pandoc still permits you to bundle in LaTeX/CSS headers to fine-tune your generated docs' appearances.
You can also very rapidly get visual feedback into your output (<leader>d runs my makefile on the current file in vim, which will generate the pdf/html in <1 s, which I can then see in a pdf viewer / web browser)
If you need a template to get started, you can use mine here [1]. The output pdf is also in the repo(although haven't updated it in 5 years now!). Reminds me to go and fix/refactor it a bit.
[1] https://github.com/sidmitra/sidmitra.com/blob/master/static/...
But the greatest joy I get is when people email me about how they used my TeX source to make their resume and suddenly got a lot more interest.
And the most hilarious was when I got a resume once that looked suspiciously like my own, and when I asked them about it in the interview, they told me the copied one from the internet and I pointed out that they had copied mine! We both had a good laugh. I honestly don't remember if I hired them or not.
If anyone wants a copy of my resume TeX source, let me know (contact info in profile).
"By the font?"
"No, by the lack of industry experience."
The error messages given on invalid markup in particular are atrocious.
(1) By unwieldy I mean a book or academic writing. Typesetting a thesis or a book is "easy" to do with LaTeX, especially if that document contains a lot of acronyms, glossaries, figures, cross-references, bibliography, etc... there are lots of great templates out there for theses and books; creating one from scratch is more often than not, overkill.
(2) One use case of what I mean here is document generation, say you have a table of employee names, phone numbers, email addresses. You can easily generate new business cards for all of your employees for the printers by creating a script to do so. Though, the initial investment may only be worth it for a larger amount of data.
A resume is mostly about design and is not altered with the frequency that would make typesetting in LaTeX interesting for anything other than curiosity.
Also, moderncv produces enormous files. I agree that LaTeX is not suited to every task.
If you are hacking on this today, you can use this starter repo to get a LaTeX project setup that builds and publishes your document with GitHub Actions: https://github.com/makenew/latex-project
:)
The real benefit, IMO, is being able to branch the source file. The master branch contains all the texts (multiple personal statements for example) and the child branches only contain deletions. Makes changes trivial.
I used makefiles for different kinds of jobs to put emphasis on different aspects of the things i have done, and it works quite well!
If yes, then this is fine. But if not, you can actually hurt your chances of being hired by making your CV with LaTeX (source: this is feedback I received when I was rejected from jobs, long ago - switching to Word/LibreOffice made a noticeable difference in my callbacks).
That said, it ultimately matters more what's on the CV, so take comments like mine with a pinch of salt.
That being said, I'm not sure what else I would do it in. LaTeX has the virtues that it hasn't changed in 15 years and that it's free.
[1] https://github.com/adithyabsk/resume
[2] https://drive.google.com/file/d/1IGC6KN2SkF4behZUOlOlWnbaMpH...
I am not a developer so I am aware it won’t live up to any kind of standards you might have.
https://gitlab.com/mickotronic/resume-build
Edit: My LaTeX attempt actually didn’t fail, it was just unmaintainable (for me). https://gitlab.com/mickotronic/latex-resume
If your focus is separating content from styling and have good version control of your CV (or other similarly short report type documents) may I suggest to use org-mode instead that is able to generate most of your latex for you: https://opensource.com/article/20/4/emacs-org-mode
I got the job. The guy who read my resume said to me: "When I saw it, I knew there was intelligence behind it."
What actually is best suited for the purpose is using a desktop publishing sofware like Scribus, with which you can visually craft your CV and tastefully organize it without losing your sleep over LaTeX quirks.
(I ask as someone who, until last month, kept a LaTex resume.)
* https://ctan.org/pkg/currvita
* https://www.overleaf.com/latex/templates/cv-template-using-t...
Perhaps “from scratch“ is a bit of work but LaTeX is fine if you find a template.
I liked having a script that pulled a bunch of LaTeX files and push out a couple different versions of my resume. I had one pdf with my personal details included, and another without etc.
Eventually I went back to a simple Google doc because it was so much easier to quickly change the style. And it looked nicer.
Would LaTeX make this easier, using something like templating where I could have a resource file for each language or would I still need to maintain multiple versions?
(I haven't needed it in a year or so, so it may need some updates...)
Just stick it in a multi page doc or pdf with minimal formatting. Resumes don’t need to be one page.
Most of the resumes I see for candidates that make it to the interview stage are multi page with very simple formatting. Lots of keywords.
\usepackage[T1]{fontenc}
\usepackage[urw-garamond]{mathdesign}
\usepackage{garamondx}