GitHub Is Your Resume Now
For programmers, the need to maintain and send a resume when applying for jobs seems to be dwindling. I will not miss the poorly formatted, badly designed Word templates filled with irrelevant information, all carefully massaged and stretched to make someone seem like the perfect fit. What someone has built and how they built it is far more useful information, and the easiest way to see that is on GitHub.
What I’ve noticed, though, is that most programmers don’t seem to have really considered how their GitHub account looks. Even if you don’t think of it this way, GitHub is a type of portfolio and it’s public. People are looking at your GitHub account even if you’re not showing it to them, so it’s worth spending some time to make it better. Here are some common problems I see that need to be fixed.
Too many forked repositories
A fork sends a signal that you are actively contributing to a project, regularly contribute to a project, and/or need to maintain a fork of the project for some reason. Having a lot of forks sends the signal that you either don’t clean up after yourself or don’t understand what forking is for. Yes, I know you can filter out forks by selecting “sources” from the dropdown. Yes, you still need to clean up after yourself.
Sharing anything and everything
There seems to be a tendency to try and “fill out” a GitHub account by adding lots of repositories, as if only having a few repositories is inexplicably a bad thing. Endless toy apps you made in school and the koans you did to learn a new language are not useful. You’re just losing the signal in the noise. GitHub is a portfolio. Be judicious about what you add and use it show off your best work. Aim for quality over quantity.
Most projects will eventually be abandoned and die. Very few projects will live for multiple years. When the project is no longer a representative of your current skill, remove it or make it private. If it’s dead but still represents you well, then archive it.
Poor or missing descriptions and READMEs
Every project needs a clear, concise description, and a well-written README. No one wants to go spelunking in your code to figure out what your project does, why it exists, and how it works. I think a well-written README is actually far more important and conveys far more signal than the quality of your code. People can’t use a project that they can’t easily understand how to use; it doesn’t matter how beautiful the code is.
Take good care of your GitHub account and it will take good care of you.