Being in the market for a developer job with spotty GitHub activity
GitHub is a web site used by developers to keep track of changes made to applications they are working on AKA “version control.” Most developers have a GitHub account, and on each account’s profile page, there is a chart made of little squares of light gray and various shades of green.
What this chart represents is the activity level of that person on GitHub for the past year’s worth of time. Each square represents one day, and the color of each square indicates how many “contributions” were made by them on that day. A contribution is generally counted as anything added or changed on a project.
Green squares indicate days where at least one contribution was made. The darker the shade of green, the more contributions were made that day. Light gray squares indicate days where no contributions were made.
With this in mind, one can imagine how self-conscious a job-seeking developer might feel about an area of their chart covered with light gray squares.
However, it’s probably not what it seems.
First, there is something to keep in mind:
Not all development activity gets recorded on GitHub.
There are many things developers do that do not end up turning the little squares on their charts green.
- Reading books, articles, or posts about coding
- Reading software documentation
- Setting up their environment
- Coding in a shell not connected to a project (like irb in Ruby)
- Working out problems on whiteboard or paper
- Creating wireframes
- Googling solutions to problems and reading StackOverflow
- Getting help from or helping other developers
- Going to company meetings
- Participating in coding meetups, conferences, and hackathons
- Reading the latest news or updates regarding software and technology
- Troubleshooting hardware or software issues
- Testing their code
Developers often wear many hats, and not all of them have the GitHub logo* on them.
Also, even when doing one or more of the activities above, it’s important to note:
Time spent doing an activity does not equal number of contributions.
Consider the following:
- One day might be spent working on one problem or feature for the entire day, only for it to result in one commit*. (*Each commit counts as one contribution.)
- Another day, he or she might breeze through tasks and rack up many more commits throughout the day.
Both days, a similar amount of time and effort might have been spent, but the first day’s square is going to be a much lighter shade of green than the second day’s.
Quality over quantity
Just like the measure of a technical support rep isn’t how many calls they take but how well they are helping customers resolve their problems, the measure of a developer isn’t how many little squares they turn green on their chart.
Some things I choose to aspire to as a developer:
- Understanding the goals of the project and/or company/organization
- Learning the best ways to accomplish those goals
- Continually improving my coding skills
- Taking on ever more challenging tasks and problems
I just don’t think it’s possible to effectively evaluate the true measure of a developer from looking at their little squares. I believe this is especially true for those of us in the early stages of our development careers, as so much of our time will have been spent working through tutorials or courses, trying out different solutions, asking for help, and creating patchwork solutions with StackOverflow.
So don’t judge a book by its cover, and don’t judge a developer by their little squares.