I am GitHub user #12004. I joined in April, 2008.
Back then, I thought I was late to the party, not early. At the NYC Ruby meetups, I was hobnobbing with double-digit user id types. Git and GitHub had already devoured the developer world I inhabited.
Today, git underpins almost all software everywhere, mostly via GitHub, a wonderful product I use daily with 100 million other people. Turns out I was pretty early.
But I do have a longstanding nitpick: the potential for misuse of the “contributions graph” that appears on every user profile. Here’s what mine looks like:
As any developer will tell you, the problem is that each underlying data point in the graph—the “contribution”—boils down to personal preference. If I’m in the habit of committing my code 100 times a day (not me, but I know developers that commit like this via muscle memory), that’s counted as 100 contributions—a dark square on the graph. If I prefer to commit once at the end of each day, that’s counted as one contribution—a light square. There is no correlation between the chart and code quality, code volume (a bad measure anyway), or what I was trying to achieve.
So what we have here is a frequency graph masquerading as a depiction of productivity. And therein lies the potential issue: it’s too easy for a line manager, product owner, or some other non-technical exec to look at the graph and form a wholly inaccurate opinion about a person’s “contributions” to an outcome. Commits to GitHub are inputs. Working code in service of a solution is an output.
Measure outputs, not inputs. Treat this graph like eye candy, nothing more. Take it from me, #12004.