The résumé is outdated. Why are people still passing around MS Word documents? There are a few problems with this:

  • Email attachments just suck to begin with.
  • As soon as a résumé is sent, it is out of date.
  • You have no control of what happens to the document once you send it.
  • There are likely multiple different versions of your résumé floating around the web in various states of correctness since they are out of date.

This just leaves everyone confused as to what is the latest version of your résumé, and then the inevitable, “Can you send me an updated copy of your résumé by tonight?” question comes out, and you’re left scrambling to update it.


Keep your information on LinkedIn updated. LinkedIn can handle most of your resume needs, but it still only allows for basic text entry (why no markdown at least?), so people feel the obligation to stick with MS Word. It has an “export to PDF” feature, but it leaves much to be desired.

I wish that LinkedIn would up their game and allow for more formatting and flexibility, but until then most people will be looking for another solution. For many tech companies and startups, a LinkedIn profile is sufficient, but for the old guard a physical résumé document is still the gold standard.

Markdown and Pandoc to the rescue!

For those that want a physical résumé separate from LinkedIn, there is a solution to your MS Word woes, and its name is pandoc. Pandoc is a free document converter that supports all kinds of formats. On a Mac, you can install it with brew install pandoc.

Here’s the best part, you can maintain your résumé in Markdown and then have pandoc automatically generate the other formats for you! I converted my résumé to markdown, and made a little shell script that will generate all the formats that I need. Here is the script which I run whenever my markdown resume is updated. It generates plain text, docx, and html files.

if [ $# -eq 1 ]; then
    pandoc $1 -t plain -o $name.txt
    pandoc $1 -t docx -o $name.docx
    pandoc $1 -t html5 -o $name.html
    echo "Usage : $0"
    exit 1

As an example of what the outputs look like, here is my résumé in the original markdown format and the generated .txt, .docx, and .html. I am controlling the source markdown file in github and then generating the other files with the script.