If you’re a programmer, the days of sending a CV when you apply for a job are quickly coming to an end, if they haven’t already. No one really wants to see your poorly formatted, badly designed Microsoft Word template filled with irrelevant information you’ve carefully curated to make you look like the best programmer ever, least of all me. I just want to see what you’ve built and how you built it, and the best way to see that is by looking at your GitHub account.
The problem is that while most programmers seem to understand and even embrace GitHub as the new resume, few if any seem to have actually put any thought or time into making their GitHub accounts look and work well as such.
GitHub is more than just your social backup storage, it’s your portfolio and it’s public. You can’t just dump everything there willy-nilly or your account is going to look like shit, which it probably does.
So here are some really obvious things that most people do wrong with their GitHub accounts. Hopefully it’ll help.
Too many forked repositories
There’s nothing more annoying than looking at someone’s GitHub account and seeing a bunch of forked repositories. If you have to maintain a fork for some reason then fine, sometimes that’s necessary. But most of the time you just make a fork to fix something, and then the changes get accepted upstream and you’re done. If that happens delete the repo! Why are you holding on to it? You can always re-fork it the next time you want to work on it. As a rule, if you have a forked repository its commit graph better have a ton of blue in it, otherwise it’s just noise in your account.
Sharing anything and everything
GitHub is your portfolio. A common mistake designers and artists make is adding anything and everything they’ve ever done to their portfolios, and then never getting rid of anything. They could do an entire spin-off of Hoarders based around creative peoples' portfolios—it’s that bad. Don’t make the same mistake with your GitHub account. Be judicious about what you add; you have to curate your work, otherwise your signal-to-noise ratio drops.
Missing or unclear descriptions
Every project needs a clear, concise description. I don’t want to have to read all your code in order to divine what your project does. If you can’t tell me in one sentence what your project does, then you probably don’t even understand the problem well-enough to be solving it.
The work you did a year or more ago couldn’t possibly still be relevant today. If it is, you aren’t working hard enough or learning fast enough. Get rid of anything you haven’t worked on in over a year.
Quantity never trumps quality. If I see a few projects with mediocre code I just extrapolate and assume all the projects are mediocre and stop looking. I’d rather see two really good projects and nothing else than eight mediocre ones mixed in with three good ones. Only add projects to your account if you truly think it’s great or useful work.
Like it or not, GitHub is your resume now, and the projects you choose to show tell everything about you, especially where you are spending your time and how wisely. Don’t waste your time building unimportant things. Identify a serious problem and write some really good, well-tested code that makes it better. Then put it on GitHub so the world can see, keeping in mind the issues I just outlined. Take good care of your GitHub account and it will take good care of you.
*[CV]: Curriculum Vitae