Back to blog
RecruitingFebruary 22, 20265 min read

What Recruiters Get Wrong About GitHub Profiles

Most recruiters treat GitHub like a checkbox. Candidate has a GitHub link? Great, move on. Candidate doesn't? Red flag, maybe skip them.

Both of those instincts are wrong. And they're costing you good hires.

I worked for many startups and watched this play out over and over. Recruiters would either ignore GitHub entirely or glance at it for two seconds and draw the wrong conclusions. Let me walk you through what actually matters.

The green squares don't mean what you think

That contribution graph on every GitHub profile, the grid of green and gray squares, is the single most misunderstood thing in technical recruiting.

Here's what recruiters think: more green = better developer. Someone with a fully green graph must be amazing. Someone with mostly gray must not code much.

Here's the reality. The contribution graph counts commits to public repositories. Many engineers spend their entire day writing code at work, in private repos that don't show up on this graph at all. A senior engineer at a big company might have zero public contributions and still be one of the best developers you'll ever meet.

On the flip side, some people game their contribution graph. There are literal tools that auto-generate commits to keep your graph green. Others just push tiny formatting changes every day. A green graph tells you someone pushed code to public repos. It does not tell you they're a good engineer.

Stars are vanity metrics (mostly)

A repo with 5,000 stars looks impressive. And sometimes it is. But stars on GitHub are basically likes. People star things they find interesting, want to bookmark, or think look cool. A well-designed README with nice screenshots can get thousands of stars on a mediocre project.

What actually matters more than star count: is the repo actively maintained? Are there recent commits? Do issues get responses? Are there other contributors? A repo with 200 stars and active maintenance is a much stronger signal than a repo with 10,000 stars that hasn't been touched in two years.

Also worth knowing: most engineers' best work has zero stars. Internal tools, client projects, contributions to large open source projects where the stars go to the main repo, not the contributor. If you're filtering candidates by star count, you're doing it wrong.

Repo quantity vs. quality

I've seen GitHub profiles with 150+ repositories. Sounds impressive until you look closer and realize 140 of them are tutorial follow-alongs, forked repos they never touched, and "hello world" projects from when they were learning.

Three well-maintained repos with clean code, good documentation, and actual users tell you infinitely more than 150 abandoned ones. When you're evaluating a GitHub profile, sort by "recently updated" and look at the top 3-5 repos. That's the real picture.

The language breakdown is useful but tricky

GitHub shows a language breakdown on each repo and on the profile overall. This is genuinely useful for recruiters. If you're hiring for a Rust position and their top languages are JavaScript and Python, that's relevant information.

But be careful. The language breakdown is calculated by lines of code, not by importance or expertise. A repo might show as 60% CSS and 40% TypeScript. That doesn't mean the developer is primarily a CSS person. It means CSS files tend to be verbose. Similarly, someone might have tons of Jupyter Notebook code that inflates their Python percentage.

Use language data as a starting point for conversation, not as a filter.

What to actually look at (practical tips)

If you're a non-technical recruiter evaluating GitHub profiles, here's a quick checklist:

  • Check the "Repositories" tab, sort by "Recently updated". Are they actively working on things? Recent activity in the last few months is a good sign.
  • Read the README of their top repos. Can they explain what they built and why? Good documentation signals good communication skills. This matters more than most technical signals.
  • Look at their contribution to other projects. Click on "Pull requests" in their profile. If they're contributing to other people's open source projects, that shows collaboration skills and community involvement.
  • Check the commit messages. Seriously. Open a repo and look at the commit history. "fix bug" and "update" repeated 50 times is different from "refactor auth middleware to handle token expiration edge case". This tells you how they think and communicate.
  • Don't penalize an empty or sparse profile. Many excellent engineers simply don't do open source. Their best code lives in private company repos. An empty GitHub is neutral, not negative.

The biggest mistake of all

The single biggest mistake recruiters make with GitHub is using it as a pass/fail filter. "Must have active GitHub" in a job listing eliminates huge numbers of qualified candidates, particularly those at larger companies where all code is proprietary, or those who simply prefer to spend their free time not coding.

GitHub is a bonus data point. It can tell you a lot when it's there. But its absence tells you almost nothing.

This is exactly why we built GitHub analysis into Candyfloss. When a candidate has public GitHub data, we surface the signals that actually matter: languages used in production, contribution patterns, repo quality metrics. We skip the vanity numbers. And when there's no GitHub data, we don't penalize the candidate for it.

Try searching with GitHub insights