How I Track My Resume in Git
Posted on October 20, 2023 • 4 minutes • 656 words
I use Git to track my resume revisions and job applications. I’ve been using this method—or variation of it—for over 10 years. You can see my system engineer resume which is from my role-syseng branch.
I made a video that walks through a couple different examples that you can check out here.
How to track your resume
Here’s an example repo that can give you an idea for how to track your resume in git . This is filled with dummy data and commit dates so you can understand what the repo looks like over time.
The repo history and branching looks a bit complex because this is what it looks like over time. This usually isn’t important because I’m only ever dealing with HEAD on each branch, but it’s cool to look back on all the roles and resumes I’ve had.
Please make sure you create a private repo for your resume if you are going to have personal information like address, phone number, etc.
The basic idea for putting your resume in Git is so you can easily make changes to the resume without relying on resume_company-job-v3_final.pdf
naming.
You don’t have to track everything I do, but I have found value in tracking roles, companies, and applications in addition to my resume.
Branches
My repo heavily uses branches to keep resume format separate based on roles and applications to companies. I keep track of different application-specific resumes and maintain a main format, which hosts my primary resume.
I don’t apply to that many different companies. When I look in my repo there are dozens, not hundreds over 10 years, and the vast majority of them are only 1 or 2 applications.
Whenever I apply to a new company, I create a branch for that company. For instance, I might have one for Pixar or Google.
For each specific role type I apply for, such as software engineering or management, I create a branch named role-
.
I have less than 10 role branches because even new job titles can usually use the content from one of the other roles with minimal modifications.
Each time I apply to a company for a role, I can take the resume from the relevant role branch and copy it to the company branch. To see an example please watch the video at the top of this post.
Keep files consistent
I keep file names consistent between branches to make it easier to know what I’m looking for. In general I have the following files:
- Working copy of my resume (
Justin Garrison.md
) - Artifact copy of the resume (
Justin Garrison.pdf
) readme.txt
for information about tools usedjustfile
for common shortcuts- Copy of the job description (
jd.pdf
orjd.txt
)
All the other context about what company or role I’m working on come from the current Git branch.
Whenever I apply for a job I save a copy of the job description and commit it to the repo with a Apply: ...
git commit.
This gives me a history of applications and job descriptions with an easy way to search for applications at specific companies based on the branch.
It has been a pain to apply through job portals like LinkedIn that don’t let me download the job description.
Usually, I save a link to the role in jd.txt
, but it’s not the best solution.
Please let me know if you know a way to save them to a PDF.
Conclusion
That’s all there is to it. I started doing this just because I learned how to use Git in 2013 and wanted to use it for something. 10 Years later it has been an invaluable source of remembering just how far I’ve come in my career and some of the weird places I’ve applied.
If you use git for tracking your resume and have a workflow you like please let me know by opening an issue on the example git repo .