Explorations in using advanced features of latex to generate version controlled resume's
The engineering program I attend has a Co-op component to it. This means that within the 5 years of my degree, I have had to apply to internships a number of times. One thing that I realized very early on, is that having an efficient system for sending out applications is critical to success in finding job opportunities. This blog post details my attempts in creating one part of such a system.
During my first job search, I initially experienced difficulties in applying to enough postings to secure interviews. This made me realize: I needed a better system for managing the non trivial task of organizing my files and efforts during a job search. I am a firm believer that keeping your digital space clean and organized is paramount to working efficiently and frustration free. After looking around online at existing Resume creation services and tools, I was not particularly impressed. The element that all of the online tools lacked was fine tuned control over the content and layout. It is for this reason that I decided to compile my resume to pdf from LaTeX source. My reasoning is that if I compiled my resume from source, that I would be able to use a version control system such as Git to keep track of the versions of my resume, as-wellas make branches for the different "flavors" tailored to each company I was applying to.
After looking over a number of resume templates I found online, I settled on AltaCV. I found the 2 column layout with the bold header, and organized framing of the template professional. It allows me to put a fair bit of information about myself onto a single sheet of paper. With this new template in mind, I went to work on populating it with my achievements and info. Pictured here is the resume template I decided on.
While being able to compile my resume was all good fun, I needed some workflow improvements. For one, I became very frustrated with having to manually recompile whenever I made changes to the LaTeX source. This of course is a service that is provided by many LaTeX editors online, but what I was going for was something that could work with git and text editors alone. So for this reason, I created a script to monitor automatically if the source file has changed, proceeding to automatically recompile and refresh my PDF view of what I am working on. It also cleans the folder from a mess of extra files created during compilation.
If you are interested in taking a look at the code yourself, I am hosting it on GitHub HERE. In this repo I have provided a sample resume that you can edit to fill in your own info. In sharing my process of developing my resume, I don't expect anyone to really follow in my footsteps, as truth be told this method of generating a resume is a lot more work than simply making this in illustrator or some other graphical design program. This has been more a way for me to learn more about document compilation, as well as the fact that I in particular feel the need to version control my resume development. While this may seem excessive, I think it will be nice to look back at my resume evolving over time.