I created and update my resume on GitHub. This is not a normal way but works well for me.
[edited]
I use GitHub to save and share my Git repositories, so I assume GitHub as default git repository service in this article. If you are familiar with other version management system or git repo service, please read "Git / GitHub" to any other words, like "Git / Gitlab", "Mercurial / Bitbucket", etc.
Based on the twitter discussion.
[/edited]
Why I uploaded my resume to GitHub
I have an account of LinkedIn. LinkedIn was an unique service for making public individual resume, and communicating with others online. I like the idea, so I always make my resume public.
When I applied to a company, it is required to make an A4 resume, typically created with Microsoft word or something. I used Linux Laptop (powered by Arch Linux) at that time, so I did not have Microsoft office. I could use Google Document, but it did not allow me to use various shortcuts, and was hard to edit during offline. Thus I decided to create my resume with HTML, CSS, and Webpack.
It seems that creating my resume with that stack is even easier, interesting, and cheaper than getting Windows machine or installing MS Office to my Linux Laptop.
When I create something, I always run git init
and control the versions with Git and upload to GitHub. This is for backup, because I sometimes fully uninstall Linux OS for some accidents. So I upload my HTML-based resume to GitHub.
I do not care if my personal information is open to the public.
I found that managing my resume with Git brings me a lot of benefit, so I will introduce them here.
1. Portability
I can show and edit my resume everywhere. From my MacBook, Linux Laptop, even someone's PC. My GitHub resume url is so short as to type directly in a web browser's url window.
https://github.com/acro5piano/resume
In fact, I have typed the url with someone's PC. I prefer this way to send the PDF to someone via Facebook Messenger or something.
2. Receiving Pull Request
I did not expect this feature at first, but really easy to brush up my resume.
I have asked my friend, great Polish developer, to check my resume before applying to a company, I sent him to the URL. He saw my repository and corrected my mistakes and created Pull Request. He refactored my resume! I check the difference and merged the PR. Really great experience.
3. Easier to design
I can customize my resume layout with my knowledge of CSS. It looked easier than customizing it with MS Word. I could not even implement flex-box like vertical layout.
I can use Sketch to customize design, but Sketch is not for writing, though it is great tool for creating design prototype.
4. Less management cost
With Git, I can ensure this resume is definitely new one. When I created with MS Word, I had multiple versions, like
- resume-kaz-gosho.docx
- resume-kaz-gosho__updated.docx
- resume-kaz-gosho__2018-04-28.docx
- resume-kaz-gosho (1).docx
I could not trust which is the newest one.
We can even show difference between versions with git log -p
.
5. Stack free
I can use any text editor to edit my resume. This is a really good point for developers, because developers tend to favorite a specific text editor. For example, I am not good at the interface of MS Word, because it does not guarantee layout (and missing "mode" concept... unlike Vim).
I can export .docx
to .pdf
with MS Word, but it requires at least three clicks, which is not comfortable for developers. If we use HTML and webpack-dev-server, we can convert HTML to PDF with one-liner, like:
chromium --headless --disable-gpu --print-to-pdf --window-size=1200,1900 http://localhost:3000/
Or use conversion tools such as wkhtmltopdf
.
Of course, we can add that command to NPM script:
"build": "chromium --headless --disable-gpu --print-to-pdf --window-size=1200,1900 http://localhost:3000/"
Then run
yarn build
which is really short. Headless Chrome is really awesome. Furthermore, we do not have to run that command if we properly set up CI.
Todo
I would like to go further with HTML-based resume. Currently my big todos are:
- CI. Hopefully, hook
git push
tomaster
branch and generate PDF file and take screenshot, then save them to somewhere (maybe S3). - I18n. Two languages
en
andja
are required. - Web Page. Paradoxically, I do not have web page of my resume. Maybe I use React.js for rendering.
Conclusion
I will continue to keep my resume on GitHub. If you are interested, please try it!
(...At your own risk, because CV has some sensitive data)
Latest comments (75)
Please check out this project for creating free resume online github.com/VJAI/about.me
This is a great idea. I have seen something like it done with many different approaches. I think I will put up my own resume on GitHub and do it using the HTML/CSS as well (maybe with webpack). But as simple as possible, so it is easy to maintain :)
Great post!
Thank you for your comment! Simplicity is very important to keep our resumes up to date :)
Thanks for the ideas. I currently have my resume in a JS/HTML project rendering JS data file into a [my name].dev thing. I didn't realize that I could render the word file and pdf from that directly. I'll be adding it into my CI process right after I get my ES5 transpiling to work.
Hi Corey, thank you for your comment.
Adding CI process to our resume is a good strategy to keep the resume up-to-date. Actually I want to do it if I have time to working on this.
I think statically built file + interactive web page is the best combination for resume.
It's actually a great idea but you should use JSON resume format. I would also recommend to check the fullstackresume.com service where you could build your Full Stack Resume in less than 30 seconds. Instead of writing all the content by yourself the service will generate it for you based on your unique experience using the minimalistic A/B tested resume template! Alex.
Thank you for the information! The service looks pretty cool.
I do the same, except I wrote the whole thing in HTML / CSS and host it in a sub-folder of my Github Pages site. No hosting / deployment overhead...
janvt.io/cv/
github.com/janvt/janvt.github.io
Thank you for the comment.
I have tried that simple approach, but I switched to hosting in Netlify.
The reason is that if we add some build process (like compiling jsx, compress & uglify assets, etc...), we have to commit these files to git.
I always use
webpack
or something to bundle my code, so hosting service is necessary for me...But Netliy makes the deployment process quite easy!
For i18n, you could consider a library for that like github.com/fnando/i18n-js and, during build time, create a static rendered html version for each language, just like you do with pdf version.
I personally decided to create a custom CMS-based solution because that can showcase my development skills on Github, such as backend development, some frontend, testing, etc, and still have an easy way to change data without having to create commits, PRs, etc on github. I was often letting changes to pile up before updating my website. I plan to have a printable version of the website, where instead of downloading a PDF version from it, you can just print the CV from any browser.
My code is in github.com/gmmcal/gmmcal.com.br
Thank you for your information!
Your website looks really cool!
As you pointed out, we can show our server-side skills as well as frontend skills, if we create our resume with CSM.
Some recruiters still demands PDF. Actually I don't maintain it recently, but when I start to look for jobs again, I will write some scripts to generate multi-language PDF.
Maybe I will use puppeteer now.
I liked a lot the idea of using chrome headless for PDF generation. When I get to the point of having a printable version of the website, I'll try to use that approach instead of uploading one to CMS :)
Thank you for your comment, Victor!
I am glad that you like the way ;)
We can update our resume without worrying about which is the newest version. And customize resume for certain companies by branching out!
Using Git, you could reasonably create branches of your resume to apply for different things
Yes!
Really cool way, as it does not cause resumes conflict. We may even "merge" resumes, if the "master" resume changes or importing changes of "feature" resume.
Dear Kaz, you can use atbox.io to make easy html5 resume
Thank you for sharing atbox.io, Sadra!
I created my account there. Waiting for those hiring!
you're welcome dear Kaz 😍🙏
you're welcome my friend ❤️
resume-kaz-gosho.docx
resume-kaz-gosho_updated.docx
resume-kaz-gosho_2018-04-28.docx
resume-kaz-gosho (1).docx
Hahah,
This was one of the primary reasons for me to move from doc/pdf to GitHub resume.
pratikaambani.github.io
Development in progress....
Thank you for your response, Pratik!
Yeah, we can manage a lot of versions of resume with Git.
By the way, I visited the link and found
Java J2EE Developer
, which may make your resume stand out focusing on the specific position. Thanks!Cheers!! :)