Recruiters might ask me to change my résumé, and by “might” I mean “always.” Sometimes it’s reordering sections. Other times it’s giving them a Word document instead of a PDF. This happened enough times to justify at least some level of automation, so I wrote Spin, a CLI that generates résumés tailored to different audiences. Spin converts a superset of Markdown Extra to HTML5. So if I made furniture on the side, I can generate two résumés with
$ spin ./woodworker ./programmer.
programmer profiles are written in Markdown Extra mixed with
@ directives. The directives define sections and experiences with information like start and end dates. Check out the examples in Spin’s source.
Making résumés compiled products yield some benefits:
- Code reuse. Two profiles may share letterheads, contact info and sections. Corollary to this, changing a résumé to entice Agile Cube Farm LLC doesn’t have to change the résumé I later send to HourLong Standup Co.
- Consolidation. I can write everything I ever did in my life in one place. I may now journal my qualifications freely in world’s most obsessively structured diary.
- It’s free. Spin is not friendly to people who aren’t used to coding. But all of the résumé management tools I’ve seen so far cost money, are down, don’t support profiles, or require more labor than I want to put in. I got everything I want with Spin for free after the initial time investment.
I picked PHP to churn this out quickly and generate documents in HTML5 to allow an intermediary step for styling and scripting for those who care enough. I didn’t want to use PHPWord because my use of it would be too opinionated and would force consumers to fuss with PHP extensions. Pandoc works just fine thank youverymuch.
One can use Spin to maintain a few profiles and convert every output document to DOCX and PDF using Pandoc. My qualifications serve as a real-world example of this. The base HTML documents themselves may also have extra features that make them more pleasant for viewing on a browser.
If Spin helps you, please consider buying me a beer!