I got an interesting email today from Corey P., reprinted in part here, with permission.

I’m curious, how you feel about GitHub’s activity graph? I’ve found myself getting increased levels of guilt/stress over that graph. So much so I’m considering not using GitHub for personal projects (only use it for contributing pull requests, reporting issues, etc.).

I can’t help but feel like others judge me by it (phony syndrome?). I have this gnawing feeling that I need to do something in the open so I can have some sort of paper trail or else I’ll be looked down upon by people (perspective employers? colleagues?).

This is a great question. Let's look at my GitHub Graph.

Yikes. Is this good or bad? It's pretty spartan over Sep-Nov, although I was travelling a lot.

Here's what I think about charts like this, and I'm interested in your opinion.

GitHub's activity chart shows public repos, not private activity.

I have a lot of small projects I work on during the week in private or local repos. and sometimes I don't make them public due to (slight) embarrassment at my works in progress.

It's not always healthy to measure yourself against others, particularly if it makes you feel bad or is somewhat unhealthy.

Jobs vary. Being a manager does take you away from coding sometimes.

If it bothers you, set a reasonable goal and work towards it, but do it for a good reason. (See how Reason and Reasonable factor in greatly there?)

Will I ever be as prolific as Monica or David? Likely not, but it's cool to know what the top of the bar is. Also, we have different jobs. Monica is working actively on a public open source project, while I'm not currently committing code to ASP.NET Core. Even Damian, a Lead PM on ASP.NET Core gets caught up in the "management" of it all. I doubt he gives his green chart a second thought.

My job currently doesn't have me committing to public repros as often as I'd like, but I'm not going let this chart dictate my value to the team. I will use it as one of many measuring sticks and I'd encourage you to as well. Perhaps set a goal to commit to an OSS project a few times a week?

GitHub Acitivty as it relates to Hiring

Sasha Laundy brought up a number of important points on Twitter about your GitHub Activity graph. She says:

If GitHub commits are only side projects, what kinds of people have time to put towards that? and if you can be silently discredited in hiring because of your public profile, how does that impact equity & diversity?

She has a great point. It's worth arguing that given the GitHub Activity Graph shows only public activity, making judgments based on it would naturally skew towards:

The already skilled vs. the codenewbie

People with more spare time, e.g. young, single, etc

Folks who work on OSS full-time (their company pays them to commit publically to code)

To her point, if your GitHub Activity page is given similar weight as your LinkedIn, how will you ever know if you've been quietly excluded from a job based on this chart? If you're just getting started or if you're a 20 year Enterprise software developer you may end up with an empty graph and find an uninformed recruiter glossed over your potential or experience based how much "green" they see.

What do YOU think of this? Does your GitHub Activity Graph stress you out like getting 10,000 steps on your FitBit? Or do you just roll with it? Sound off in the comments.

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

Anybody hacked a FitBit to bug you when you haven't committed in a while? Might help keep me honest on my New Year's goals.

Steve Ruckdashel

Tuesday, 09 February 2016 03:16:32 UTC

And then there are people like me, who make your Github contributions graph look downright busy-- the vast majority of my work projects happen outside Github, and what does go on Github are frequently in private repos.

Basically, the only thing that really shows up on my public contributions graph are personal projects. Which means that the only thing the graph's really measuring for me is the amount of my spare time I'm spending coding (as opposed to pursuing other hobbies, or actually living life). And you can't compare my graph to someone like Monica or David's graphs, because their contributions are open-source projects they're being paid to work on, during their workdays.

(That said, I've just started off on a new pet project that should make my contributions graph look a little nicer. We'll see how that goes...)

The problem with this chart is that it does not represent the real value of the contributions, so comparing two charts doesn't make any sense.

1. Every comment you add to a pull-request increases your "contribution" counter. The 10 comments from person A might be more valuable than 300 comments from person B.

2. Every commit counts as a contribution. Well, people who do not care about keeping a clean history (and squashing commits, etc.) will get more "contribution points" even though their source control history is garbage.

Something GitHub doesn't count at all are code review comments on pull requests. That is some of the most valuable work that can be done on code that's about to be cemented in your repo.

As the old-timer on a quickly-growing team of youngsters, I spend nearly all my work time on architecture and code review, the overall value of which I would contend is far greater than if I had done everything myself (as often as I am tempted to do that) since it both ensures high code quality and is an opportunity to mentor.

Mike Heggeseth

Tuesday, 09 February 2016 04:31:17 UTC

I don't really think about it. My public activity is unfortunately pretty non-existent right now. But I will be trying to fix that in the coming months. All my current dev work is committing to private repositories at work so it doesn't show up in my public activity. So while I practically live in Github/git every day writing code at work, that isn't reflected in my profile.

I don't feel the urge to commit to Github just to increase my activity. However, I am starting to feel more motivated to contribute to OSS projects that I care about, so Github activity will just be a natural benefit.

I care more about being seen as a well-rounded person. Forming an opinion about somebody based on their Github profile is about as accurate as forming an opinion solely on Facebook. It's one-dimensional. I prefer to work with multi-dimensional people :). It's much funner that way!

A classic case of Judging a book by its Cover. You don't need to announce to the whole world on the things you are working.

Srivatsa Haridas

Tuesday, 09 February 2016 04:48:00 UTC

My longest streak on GitHub is 129 days (screenshot). I was aiming for 200 days during a time when I wanted to have measurement for my commitment to learning more stuff, and doing more side work. One day I came back from work around 8pm really tired. So, I decided to lay on the bed before jumping into my afternoon routine. I woke up 45 mins after midnight, missing the deadline for my daily contribution.I won't say that I almost cried for breaking my long streak, but missing the daily deadline was the first thing that came to my mind when I looked at the time.I was very upset, and started searching online for something I heard about git's ability to re-write history or something, maybe I can trick GitHub. Couldn't find anything and went back to sleep.The next day, I was still upset till the evening when it came time for my daily deadline. I noticed that I wasn't stressed like I was the past few weeks.See, at the start, I had lots of things to contribute. I was building my blog and it was a lot of work and fun. Then there wasn't much stuff to do, but I had a goal to achieve. Coming up with things to do was getting hard. Things that had to be small enough that I can do in a day. No, I can't stop and learn something. Reading or watching a tutorial wasn't gonna help keep my streak.Somewhere along the line, I lost sight of my actual goal of learning more stuff, and doing more side work, and moved to a proxy-goal (not sure if that's a word) of keeping a contribution streak on GitHub. I think of a proxy-goal as a measurable goal that you use to indicate whether or not you're achieving your goal. The proxy-goal became the actual goal, and when the two were at odds, I chose the proxy-goal instead. In the last couple of weeks of my streak, I would do small tiny changes 15 mins before midnight to keep my streak going.It's helpful to have a metric of how well you're doing, and how you're progressing toward your goal, but it's important to keep that metric in perspective. When it's at odds with your actual goal, make sure to choose your actual goal.This doesn't apply only for GitHub contributions, think of the proxy-goals that are replacing actual goals in your daily life.

My work is spread all over the place.My daytime job we use svn.Study part time Master in software development. Here i use bitbucket.My own blog / side projects i use github.And then theres my "commit"ment to my girlfriend :D

Not exactly. :-) if you have access to their private repos they are contributing to, you will get this activity as well. That's what that little lock in the upper right corner of the graph indicates. And it will explain itself, if you hover on it.

As I don't have access to David Fowler's private repositories he is contributing to, I just see around 1650 contributions instead of the ~1800 in your screenshot.

I think it's a useful tool, when used for the right reasons - just like the user stats within the StackOverflow website.

It's natural for people to look for ways to measure themselves against others - and at a first glance, this might be an obvious way of doing this, but the points you raised show that it clearly isn't. People who get stressed out about this are likely to get find something else to get stressed out about if this didn't exist.

More seriously, I think it's a nice indicator, but it doesn't directly reflect productivity. Some work in companies where the work is in the open, others not. For a lot of people it is only the work they do in their free time.

Also, if you are working on a PR and are kind enough to force push to only have one commit in the end, you'll end up having fewer activity "points" than if you leave a long commit trail reflecting the changes and comments taken into account.

For years I've been involved in a fairly large open source project and many at the heart of a group of people who wanted to drive more community involvement. This revolves around "contributions" ranging from forum activity, blog posts, project releases (of sub projects), code contributions, etc etc. And I was always the sceptic in the room. Why? Well, if there's one lesson I've learned in business is that when you stick a thermometer into an organization, employees start behaving according to that thermometer. It's all well and good if it corresponds with *exactly* what you're after, but in practice it's just a derivative. The above statistic, for instance, revolves around "commits". Which has no bearing to the amount or quality of the code you're checking in. The fact is that there are always those that feel a need to "game the system". They'll make trivial changes and create a commit for every letter they change. This will propel them to the top. This happened in our open source project as well. People creating masses of forum posts. I've long argued to do away with metrics as they are delusional at best. And at worst they demotivate the ones that *really* wish to make a difference.

Conclusion: if you're in it to make it to the top of some ranking, then good luck to you, but to me it has little to do with the "open source mentality". You should strive to make the project a success. That's it. Pure and simple.

I work a 40 hour week (committing to private Svn), I've two small kids, and my wifes parents (both in their 80s) live with us, there can be as much minding on them as there is on the kids. My wife runs her own small business, and works 5 days a week. I'm de-facto IT support and general maintenance guy for that business too. I also help out looking after my own Dad, also in his 80s.

Time for open source simply doesn't happen for me, it's just not an option.

If "checking GitHub activity charts" is a thing recruiters and employers do, I'd guess I'm not going job hunting this side of 2020.

Seriously folks, there is life outside GitHub, if high public participation is a requirement for hiring, it's as well I've a great job that I'm happy with, and an employer who's happy with me.

Mark Lysaght

Tuesday, 09 February 2016 11:02:16 UTC

@amr and all guilt-feeling people.

There IS a nifty solution, namely github contributions by Ionica Bizau:

There's a big difference between a few thousand/a few hundred/a few dozen commits on this graph...

and ZERO.

If you want to be a good programmer, you have to program. It you want to learn how to program, you have to learn. No matter how you do it, your attainment of programming abilities will have some effect on the world. If it's not GitHub, it'll be a watched Pluralsight video counter... Or a kindle read book counter... Or bent pages in a hardback programming book.... Or a hard drive containing your side project. If someone who is looking for an educated, active developer, they're going to ask for these things. Will you have them?

I agree that a lack of Github activity does not necessarily mean the dev isn't active, but even a light green graph is practical proof of a dev who is. If yours is blank, just make sure you have the other things.

All of my work is carried out in private repos on github, bitbucket, and internal TFS, CVS and git repos. I work 8 hour days, then do my personal projects at night. I'm constantly coding (unless I burn out and need to take some days off), but the only public record of that are my devlogs.

If a prospective client uses my github or stack overflow public profiles to guage my skill level, I don't want to work for them. There is so much wrong with how techies are normally recruited it's embarrassing.

Great article and topic - funny enough I have thought about this myself. From time to time, it frustrates me that my privat activity isn't visible on Github, as that's where 97% of my commits go. In general it isn't something I think too much about - I don't have time for that actually, as I'm self employed working 8 hours a day for clients, then 2-3 hours every night mon-friday on Hobby-Projects, plus I have a wife and 2 kids :)

I have never heard anybody comment on my Github activity when I'm at interviews...and yet, I usually get the task anyway - not due to Github, not due to LinkedIn, but because I'm skilled and a kind person - don't forget the latter :)

I haven't really used git much until recently for work. All my previous employers used TFS or SVN. In the ocassions where I had projects needing source control (i.e. really small, bite-sized apps/code snippets), I would use svn. So, it was definitely a bummer when I was asked for my github account during an interview and they cancelled my follow up interview because I didn't "contribute enough."

John Melvin III

Tuesday, 09 February 2016 15:22:47 UTC

This definitely shouldn't be used by interviewers the same as stack overflow profiles, without context its meaningless. I used to write a lot of questions and answers on stack overflow now most months I will go without anything. That's because i'm more proficient in the technologies i'm using and stack overflows answers bank is much larger now. To an employer have i dropped off the radar now i'm less public :-)

pete

Tuesday, 09 February 2016 15:29:46 UTC

Another thing that I discovered is that the GitHub activity only shows commits to "master." If you are working on feature branches, that doesn't show. It's an indicator, but just that. It definitely isn't anything close to a whole picture. As an interviewer, I'm usually just excited if someone has a GitHub profile with some code examples. I don't really care if they're updating stuff every day or even every month.

Commits stats are good, but pretty nebulous as to volume. Did a commit change one line or 1000?

Instead, why not use lines changed? I'm astounded that github doesn't provide that info in their stats API, at least not to a granular by day level.

So I wrote a PowerShell snippet to grab the data from git log: Git commit stats for author by date -- bonus, works for all git, not just github. This finds insertion/deletion by date and sums up across all commits.

Not to leave out the SVN folks, I also did SVN commit stats for author by date along the same lines. A bit tougher to get the data for SVN (gotta pull the diffs and look for + or -), but it works.

My Open Source activity for the past decade has been almost entirely on Drupal. I'm one of the top contributors to both Drupal 7 and Drupal 8, but Drupal isn't hosted on GitHub. That means my GitHub graph is basically empty.

If you were to rate me based only on my GitHub activity, I'm useless and never write code. If you're aware of my Drupal activity, I'm a top-tier developer and evangelist.

Lies, damned lies, and statistics. :-)

As far as I'm concerned, the only value to the GitHub activity chart is in hacking it to make cool artwork.

If a company bases hiring decisions on that github chart, that is a company I sure as hell would never want to work for anyway... so no loss.

Travis

Tuesday, 09 February 2016 17:04:18 UTC

Never committed anything to GitHub in my life. But I've stayed busy coding every day (and getting paid handsomely for it) for the last 28 years.

I guess that means I'm unemployable?

Marty T

Tuesday, 09 February 2016 17:07:36 UTC

Why have we collectively decided GitHub was the battleground to duke it out? Why do recruiters and companies keep asking for "GitHub" profiles as opposed to other mediums? Seems like a nice little monopoly to me.

It seems ironic. GitHub has always pushed for diversity and yet their activity graph hurts diversity. Furthermore, you know the people over at GitHub created the activity graph with one thing in mind-- user retention. I'd like to see GitHub put their money where their mouth is.

If they are pro-diversity, nuke the graph.

John Doe

Tuesday, 09 February 2016 20:54:18 UTC

In all seriousness, having once worked for someone who used TFS stats as a basis for an annual review, confusing the adjective 'prospective' with the noun 'perspective' won't do you any favours in the employment stakes either.

Tim B

Tuesday, 09 February 2016 21:16:07 UTC

If recruiter or employer checking your github , I bet he will check the quality of code you checked in rather than checking the quantity so no worries about that guys.

I just want to say to anybody who's reading this, if you are now or will ever be in any position to hire someone, please, please ignore their GitHub contributions calendar. Not only is it completely meaningless as any measure of skill, it's a fantastically bad representation of work done. Worse, it's trivially gameable.

If you don't believe me by now, after reading through all the comments up to here, well, I just hope no unfortunate soul ever has to work for you.

Yawar

Wednesday, 10 February 2016 10:56:51 UTC

I don't care about the charts. Smart people know you can't read much from it and if someone discriminates you based on the chart, well then you probably don't want to work for them anyway.

Another question. If you say David is a developer and architect, does it mean that per definition an architect doesn't develop or that a developer doesn't architect or why is it important that you made this distinction?

It shouldn't bother me but it does. You can also get a contribution point for raising an issue on a project. In my streak attempts I will admit I have stashed away issues to report in case I haven't got anything else value able for that day. It stresses me out in a way but equally it motivates me. In fact, aren't these two things them same? I'm motivated when it's going well and stressed at the speed bumps :)

One other thing I don't like is that the commit only counts on a master branch so if your oss project of choice has a different method of Dev you don't get "paid" for that work.

Final ruling: stats are great, add more and more. Geeks love them and naturally obsess over them.

Matthew Harris

Wednesday, 10 February 2016 17:37:58 UTC

I have to admit, I have looked at not only my commit stats for this source control and others and compared them to everyone around me. In the case of the GitHub stats I actually found some relief. I had always felt that I should be working more on the weekends to keep up. A while ago I noticed, even with some of the people you mentioned in your article (Fowler being the exception), that most even take breaks on the weekend or only occasionally make a post on the weekend. I also found gitfiti (mentioned earlier) and seeing how easy it was to modify those stats reminded me that stats are just a guide, not meant to live by. I now use them to look up that hard working weekend that is a dark green and find a particular commit.

TJSoftware

Wednesday, 10 February 2016 19:33:20 UTC

I wouldn't want to work for any company that places any value on the social rubbish on the internet. Its all porn, flash viruses, political propaganda, and adds.

That said, I will mail you my paper resume (professionally printed on special paper), ending with: "References available upon request."

Also, I hope that my resume, boasting of my membership in the Computer Science Club at university 30 years ago, impresses you as much as it does me.

How do I mail something these days? Is there a web site with instructions?:-)

Biff

Wednesday, 10 February 2016 23:42:40 UTC

I am the other end of the spectrum. I have never committed anything publicly to github and I have been a dev for years. I guess no one would hire me!

Anonymous Bob

Thursday, 11 February 2016 13:47:24 UTC

I just roll with it. Here's why:

It's a measurement of issues, pull requests and commits. I'm a believer in committing early and often, but that's not how things always work out. That means your overall code contributions to a project can be high, and yet not be reflected as such by the graph.

The graph in no way measures the quality of those commits. I could commit a millions times to a project, each commit adding nothing of real value to the project, but it would look great on the graph! Hmmm...maybe that's another reason why this graph isn't a great hiring metric.

From a hiring perspective it's nice to know that a developer is in the open source space, to me what is even more compelling is if they are doing OOS work on their own time instead of on work time, or as contributors instead of owners. That shows to me at least a commitment to something other to themselves. As far as the graph goes, it would be useless to me as a decision tool to determine if I'm going to hire someone.

Scott

Thursday, 11 February 2016 16:52:54 UTC

The good thing about the activity graph is that it's easy to ignore. If I'm using github at a moment, I'm not looking at a profile page.

Dave

Thursday, 11 February 2016 19:10:57 UTC

Anyone know how the intensity is coloured?

is it by the number of commits? or number commits x number files changed?

Where is the cutoff between single commit which gives you lettuce and dark forest?

is the scale relative to you? to the project, GitHub as a whole?

mike j

Thursday, 11 February 2016 20:36:52 UTC

It's based on commit/activity count only. Check this out for details:

http://bd808.com/blog/2013/04/17/hacking-github-contributions-graph/

Joe Smith

Friday, 12 February 2016 02:15:13 UTC

Most of my public commits are on a python project that's a hobby, it would give a poor outlook on my C# skills, most all of those commits are in private enterprise repositories.

I don't think the public activity monitor is a great metric of anything on it's own (and I'm also sure their are hiring managers who care a lot about it, none of which I probably want to work for).

;)

John

Friday, 12 February 2016 05:32:46 UTC

A recruiter judging candidates by number of GH commits is no less misguided than an employer judging employees by lines-of-code written. Metrics measure what they measure - there are often other factors more important but harder to measure (quality of commit, value of commit, amount of work involved in a commit etc).

Kent

Saturday, 13 February 2016 04:15:26 UTC

Hehehe, catching this a bit late but.. I think we all enjoy seeing astronauts rocketing out into new territory and sharing in their discoveries, boundaries need to be pushed and creation is amazing to watch. But to be timed, measured or pushed toward those goals seems antithetical to the beauty of emergent creation. Spark where it will, checkin as you can, but god save the man who is driven by those numbers.

Very green gh displays are a warning signto me, especially when they show 3+ different project involvement. How the heck does a real dev can do that? Too much free time and lack of focus thats what it is

GitHub can centrally reveal my "preferred" upstream projects and languages "to some extent" despite constraint of my downstream DVCS preference and my attempts at embracing open source while working out strategy to earn livelihood in the years ahead. The graph at most attempts to particularly complement StackOverflow and linkedIn profiles, i. e. secondary to maintaining my own custom domain even when time permits applying cosmetics to web presence through them.

You can see a working sample on his Git Profile:https://github.com/IonicaBizau

It is TRULY Great.

Frank

Thursday, 18 February 2016 17:45:20 UTC

GitHub is far from the only location that people use share their code, so I share some of the opinions opinions expressed above that this is a metric that is basically useless.

Bearing in mind GitHubs ongoing controversy regarding their outlandish and discriminatory 'diversity' hiring policy, I personally choose to use another service. I guess being male and white makes me unemployable at GitHub, too.

Perambulator

Saturday, 20 February 2016 11:36:30 UTC

So... What's GitHub anyway ? (I am kidding...)

If an employer placed any kind of importance against a GitHub commit profile, quite frankly, they're NOT an employer I would want to work for for the reasons outlined below...

1. I don't get spare time of my own to work on projects. I have a family that I love dearly and spend ALL of my spare time with.

2. Because I'm a middle-aged person with a home, I have commitments that already eat into my spare time. Fixing the curtains up, painting the fence, cutting the lawn. So there you go. If I'm not with my family (1) I'm with my house !

3. My work doesn't permit me the luxury of working on free or OSS. My employer sells stuff to make money. Whilst I believe OSS is a very admirable concept, its a little "communist". OSS doesn't pay the bills. I'll contribute what I can, but first, I need to pay MY bills.

Any kind of significance of a commit profile will result in a company hiring a plethora of people who either: -

Don't have a life... Don't have a house to fix-up... Are independently wealthy and have little need to work...

OK. So I'm being a little tongue-in-cheek, but generally the points are valid in some shape or form. There are simply too many VERY GOOD programmers out there who learned a long time ago that a balanced and proper life is important. All bits and bytes makes jack a very dull boy.

Sorry... Don't want to work for a Git obsessed employer - EVER !

Paul

Sunday, 21 February 2016 14:59:32 UTC

Measuring just activity in a single data source doesn't provide the whole picture, that's the reason for us (http://bitergia.com) to support as much development related data sources as possible...

But that's just the start, you need to take care of what are you measuring or what do you want to see. Activity? Size? Performance? Diversity? Demography? Just counting number of whatever doesn't say too much (that metric is easy to cheat)..

More interesting metrics are related with contributor footprint in the project.. How fast your pull requests are accepted? How many of the lines of code you have submitted are still there after a period of time?

I've suffered this anxiety many times myself, not only on GitHub but also on forums and community sites from the StackOverflow suite. There is an increasing amount of community pressure to be a top contributor but the reality of family life and a super busy job is that I don't always get the same opportunities that I did in my twenties.