I want to say if you feel pressure when looking at your contribution graph, it's all in your head and you should take a break because you're clearly not thinking straight.
But deeper psychological issues are real, and gamification definitely pushes a certain agenda. When that agenda (in this case "streaks" and "commits per day") isn't really serving a community, it would be sensible for the community to tweak those rules. Putting some upper bound on them (for example, no "penalty" for missing days here and there, or stopping counting at some point) makes no difference to people "who don't care about it", but may make a positive difference to those people who care too much about it.
That seems very harsh.
Nevertheless, I think there is a point in having a coarse activity indicator in order to assess how likely somebody is going to respond to issues or pull requests.
You still have the ability to quickly gauge how active someone is on GH, while allowing people who care about such things to keep a streak running without sacrificing weekend time.
But I got to thinking about the recent paper that was done analyzing contributions to repos on github [1] and thought that of that actual 10% of active users, there might be some with unhealthy tendencies.
I don't think that the contribution graph should be removed but I can see how it would be a net-negative to someone with those unhealthy tendencies.
So the post is definitely worth pondering over and not to be discarded.
I have reviewed multiple intern resumes in the past year and for sure anyone having a solid contribution graph on github would only have stepped up in the shortlist.
So to be dismissive about this issue is just not right.
Interesting deduction but it's extremely anecdotal and ultimately false. If history has taught us anything it's that people want to control their appearance to others. If there are rockstar developers with a huge contribution graph then people will start to associate that as a pattern to being a rockstar at which point it becomes a goal for people to shoot for.
Yes people shouldn't care. But they do. It's simply how the human mind works. While you say you don't care and you probably don't, I wouldn't be surprised if you cared even if it was just a very, very tiny bit even subconsciously.
This affects users of all social networks. People even develop eating disorders because they're worried about negative social evaluations[1].
In the interview process, we tend to worry about what we telegraph, and we should really spend more time worrying about what the other guy is telegraphing. For some of us it's hard to remember that anybody who thinks committing 7 days a week means you're a better person... isn't someone you want to hang around with anyway.
Rejection stings, even though being rejected by someone you objectively can't respect shouldn't hurt that much. We are human. If you prick us we bleed.
I love this comment from Github:
> if you look at my contribution chart right now you will notice that it is completely green, why is that (for the people that do not know the trick) I simply commit changing the date manually using this Bash script
Very capably demonstrates how stupid the point-counting is, while at the same time capably playing the stupid game.
But there are arguably positive effects to the gamification. Here on HN, the points give people incentive to browse the NEW list to vote and comment. Getting in on the ground floor of a popular post is the key to getting a lot of upvotes. It also gives people incentive to know what the heck they are posting about, or at least do some basic fact-checking and editing before hitting the button.
On Github the graph incentivizes commitment, which is desirable in open source projects. Taken too far, people will burn out--true. But I bet the opposite is far more common: I bet a lot more promising open source projects die from lack of effort than over-effort.
I sometimes will link to a pedagogical Python package that I maintain to show how I work with Python/Cython, and also that I know the ropes with packaging, complex travis-ci scripts, and workflow management on GitHub.
I expect them to ask about that project, or the handful of other open source contributions I've made, but would never expect them to go hunt down my contribution history and nitpick.
In one case it was a non-technical HR interviewer who thought it was clever to grill me about why I hadn't made a commit to a certain repo in several months. It was the repo where I store configuration files, like .emacs, and I just didn't have any config updates in that time period. However politely I tried to say that's just not the sort of repo that would reflect regular engineering, she did not seem willing to drop it, and went on about how they want to hire "passionate" developers who code "because it's in their DNA."
O_o
I really wish GitHub would allow users to disable the contribution tracking if they wish. I don't like the idea that an interviewer, or a boss, can go digging around and maybe even try to use it against me (e.g. you said you couldn't come in to work this weekend, but I see that you were able to commit something on an open source project...)
Even if that risk is low, why should we have zero ability to choose not to bear it?
The saddest part is that when this has happened in interviews, it's been with two major US tech companies that are popular and widely regarded as places that many people want to work. So it's not as easy as dismissing a recruiter who snoops through your GitHub contributions. The company they represent may be widely known to be excellent.
I don't find it particularly discouraging. It's not something that anybody should be taking seriously. The streak measure is the least useful but, frankly, all the GitHub measures are of rather limited value.
StackOverflow does a much better job of putting relevant information in the public profile, though admittedly they have the benefit of a voting mechanism that helps point out what things you did were actually useful.
Everybody doesn't have to live in a bubble-boy world with all their beautiful feelz.
Personally if I cared about this metric I would just set something up which held onto Friday's commits and pushed them out over the weekend.
If you're concerned about those things, you need to do some deep introspection and fix whatever issues you have inside yourself.
The argument made by the author is that the graph implicitly transmits a message which I think most of us don't agree with: "Passionate developers work all the time."
So, you're right - it's not harmful because it causes people to crave external validation. It doesn't and therefore removing it will not make the craving go away.
Rather, it's harmful because it makes the people who do crave validation behave in ways that are counterproductive for everyone.
Recognizing that people may have problems, recognizing that the activity graph and streak metric may aggravate those problems, and then saying that the charts shouldn't be removed and the people should just deal with it themselves is not particularly empathetic.
I used to be all about stars, not very explicitly, but it definitely went into my decision-making process when working on side projects whether I wanted to admit it or not.
Sadly this has caused me to not ship silly-little-experiments-that-no-one-will-care-about like I used to before my "stars." The bar's a little higher now.
BUT if it is the act of writing code you like, then that doesn't matter. The "work" itself is the reward.
How about personal satisfaction? That's definitely worth a lot. Not to mention that I got my first job from free software contributions alone. That's also worth something and did pay off (of course that's not why I contributed to free software).
but that was pretty much limited to my earlier days of using Github. Now, I think one or two days of quality commits a week (on personal projects) is far superior to straining to make tiny changes for the sake of a streak.
Trying to use the GitHub streaks feature to encourage me to make at least a small commit to my side project every day has actually led to me getting much further on it and working much more on it than I ever expected. It keeps me looking at and going back to my code.
Yes, it's irrelevant and frivolous. Yes, it's easy to cheat on (if you feel like cheating yourself). But you can use it for good if you want to, and I'm glad it's there.
On the other hand, the privacy argument might be hard to sustain because an external site or tool can regenerate much of it from the user's individual git commits.
This is a "give a man a fish" solution that doesn't address the root cause of the issue (and that parable is all about fixing root causes). This likely has more to do with the inability of some individuals to create personal boundaries and regulate their own behaviours than it does with the presence of an infographic. That individual inability will still be around even if the infographic goes away, because as in the parable if you don't fix the root cause the other person is in the same situation again tomorrow.
Yep, some people have difficulty building boundaries between their work life and their non-work life, or between their coding life and their non-coding life. (Some people don't want to build those boundaries, and that's fine, but some people do want to build them and yet have a hard time doing so.)
But just because they have a hard time doing something other people find easy doesn't mean we shouldn't make it even easier.
Removing the graph or the streaks metric isn't "giving someone a fish". It is realizing that they have difficulty catching fish when they try, and giving them a net to make it easier.
This is a request to destroy or completely disfigure, to the point of uselessness, a UI element that some people and teams legitimately find useful, all for the sake of protecting people (we don't know who or how many) who might plausibly harm themselves using it because of a lack of self control. Control that other people clearly demonstrate can be developed.
And several people have cron jobs for website synchronization etc...
Did I contribute very many very small commits? Yes.
Did I think about everything I do daily from a global/sharable/modular perspective? Absolutely!
Did it make a dent in the world? No.
Yes, it was stressful at times. But I still think I became a bit better at approaching problems from re-usability perspective.
I haven't made my first commit to a public Github however, it seems to me you can easily keep your streak with minimal effort. Why not just stash a small commit during the week and have a cronjob commit it for you on Saturday and another Sunday?
Maybe you code 18 hours M-F. Is a guy who codes 5 minutes 7 days a week cheating because he gets a streak and you don't? Whose to decide if he is gaming the system by barely contributing.
There are so many other signals -- learning new programming languages, fixing broken tests, creating awesome new features, cleaning up crufty API libraries, and so forth -- but GitHub isn't showing them on profile pages.
Clearly there is a desire for such signals as people are either 1) using it to elevate one's perceived stature 2) using it to measure other people's perceived stature.
Personally I think this is an opportunity for GitHub to obviate such a signal, one that accurately measures someone's quality of work.
I don't care about the community aspect of it, but I worked at a corporation that did care about those graphs when they're completely meaningless. When your bonus depends on how many commits you make, why not commit once per line?