When my employer is hiring, I’m the first to want to refer a good person. I’ll reach out to my network of bootcamp grads, asking for resumes, hoping I can get them a job at a great company.

I end up throwing out 99% of them every time.

The reason is always the same: their GitHub has half a year or much more of total radio silence.

If there’s one piece of advice I could shout from the rooftops, especially to new devs, is that an active GitHub is probably your best competitive advantage to getting an interview or referral cold.

It’s not a perfect system. But it’s the system we have. And it never fully made sense to me until I found myself on the receiving end of resumes, with more to go through and time I had available.

Simply put, most resumes with equal experience look the same. New bootcamp grads went to a bootcamp and did a couple of projects (that may or may not be hosted). Those with two years of experience have a company they’ve worked for, maybe two. And everyone is listing similar languages and technologies they use.

It’s a start, but then I’m left with 5-10 resumes and 1-3 referrals I can comfortably make. At this point I could paste them to a wall and throw a dart. Or I could look at their GitHub.

Getting your Github ready without loosing sleep

You can easily increase your candidacy with an active GitHub but you don’t need to go crazy either. Please don’t Eat-Sleep-Code-Repeat. Conversely, you can get away with doing the bare minimum and be in a stratospherically better place. Here’s some simple ways to do just that:

  • Set up some dotfiles - Effortlessly save your configuration. And whenever you add to it, you get a 🟩. I use dotbot.
  • Whenever you take a class, or code through a book, put that code on GitHub - You don’t need to author an open source library. Simple code snippets or notes in markdown are great! Put your LeetCode solutions up there too while you’re at it. Don’t let all the stuff you’re already doing collect dust. Get those 🟩s!
  • Host your website statically on GitHub. - If you have a portfolio, every new thing you add is a 🟩. If you host a blog, new posts are new 🟩. My website/blog is hosted this way with hugo.

It will be very, very unlikely a hiring manager will look at your actual commits. Simply having anything up there is what matters. It shows you walk the walk and talk the talk. It immediately proves you have basic knowledge of the same version control they are definitely using at work.

And again you don’t even need to go overboard in frequency. Your 🟩s can be sprinkled like cayenne on a dish that shouldn’t be too spicy. But it should not look completely and totally abandoned for the year.

Reversal

I think an active GitHub is the easiest way to give you a competitive advantage, but there are alternatives if they are your thing. Among them, you could:

  • Be an active blogger - Personally, I don’t like doing this. I’d rather showcase my GitHub.
  • If you’re more media oriented, create a YouTube channel - Live coding? Put the recording on your YouTube. Do any talks? Get them on YouTube (if you have permission). Or link all your media on a portfolio page (guess where you should host it).
  • And none of the GitHub nonsense applies whenever you’re referred by a person who knows you well, or even someone you’ve met at an event and had a good conversation with.

Just remember, if you do have an alternate to GitHub established, do not include a link to an empty GitHub in your resume. You might want to delete your account altogether, if you really never ever use it. Would a photographer link-drop a portfolio with no photos?

But whyyyyyy does it have to be this way?

Yes there are totally flaws in the system. The hiring process has a lot of room for improvement (some companies are trying). You can be a great programmer without doing any of these. But right now, there is no way I can know this by looking at just your resume, and my company will not let me spend 80% of my time talking to candidates to get to know them better.

I totally welcome the conversation to improve the hiring process, from interview to whiteboarding to everything in between. So please write about how its broken and how we can fix it. I would love to read that. Just make sure it gets committed and hosted on GitHub when you do.