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?
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.
Its not that I'm not working, just that most of the stuff I do I tend to either cleanup and squash commits for, or they tend to be very much research project type deals that sure I can commit something but most of the time it would end up as: "this didn't work", "neither did this".
I'd love to commit something meaningful every day but honestly can't be arsed most of the time. If I'm sitting there at a serial terminal figuring out why I can't boot on an arm board, what silly thing should i commit? I have org notes that document that stuff, commits are for semi useful things not a measure of work/worth.
That's the problem, the stats are just that. Anyone interpreting them as an indicator of "should be contributing more" should chill. But I do see your point.
>> 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.
To be honest, I didn't read the entire piece, I just got far enough to cringe at this whole notion of people trying to play games with the stats and wanted to comment.
I have been looking inward myself lately, and while I have found it very challenging or even painful at times, it is one of the best things I've ever done. Highly recommended. We've all got our issues...
But I think your second paragraph addresses the real problem: contributing 18hrs/weekday and contributing 5mins/day are both legitimate open source contribution styles. But the "streaks" metric removes all subtlety -- how many contributions are they actually making; are the changes meaty or trivial; do the changes break CI; do the changes address Issues in their respective repos -- and so I don't believe it is a helpful metric to display.
Personally, I believe it does more harm that good, by encouraging people to maintain streaks even if doing so actually decreases their true productivity or happiness. But no matter how much or how little harm it does, I think it is hard to argue that it does much good, since it is such a high-level distillation of complex information.
No. But life for many people consists of more things than just software development.
I'm paid to work on free software. In the last year, my Github profile shows a single commit on a weekend, when I made a pull request on a browser extension I use. I'd rather spend my weekend time away from computers :)
Hosting the stats directly on someone's profile landing page at GitHub is incredibly, hugely different and more problematic than if someone else aggregates it later and hosts it elsewhere.
These problems are quite common, hence the great success of free-to-play, extremely-gamified mobile apps. In many of those cases exploiting the most vulnerable users is the entire point, but not so for Github. So for Github to consider how they can maintain the interesting / fun / motivating (or irrelevant) aspect for most of their users, but temper the positive/negative reinforcements that some people may find literally addictive, it seems quite responsible.
https://zachholman.com/posts/streaks/
Personally, I find the contribution chart both motivating and frustrating. The contribution chart is enough of a signal that I try to make sure it looks healthy each week. But, at the same time, it's far from a perfect tool for assessing how productive I am, because commits come in all shapes and sizes. And like any gamified metric, it can lead to unhealthy obsessions.
Arguably anyone who falls for gamification has "a problem," to one degree or another. But if we know that certain personalities are more likely to have unhealthy obsessions with something, that's maybe a good reason to take it down, or at least lessen the focus on the "streak" and represent activity more positively without highlighting the gaps.
So your misplaced value judgements, loaded language and dismissals aside... You realize that just because you might not value it, that it isn't being used to value you?
Lots of employers use github activity as a signal for hiring. And so making sure you can demonstrate very active participation in the community is often quite important to getting a job.
Even then, given that overwork seems to be something of an epidemic in the software industry and the entire industry is famously full of signals suggesting that a 60 hour work week is normal and reasonable (hell, somehow they decided that working on saturdays wasn't enough, now people say you need to work 8.5 hours every day to be "normal" and 11 hours a day is "crush")?
The signal and the reward for more work isn't healthy after some point. There is an environment around github that github has to consider.
And if they actually do care about seven day work-weeks being the norm, that's substantially worse.
(Interview ended shortly after I got a muddy reply about how hard it is to measure developer productivity, so they use the metrics they can find, etc. Textbook example of a drunk looking for their keys under the lamp post, which completely reaffirmed my decision.)
Edit - It is interesting without knowing intention people say to pass on the employeer. How many interviewers ask stupid questions not realizing they might miss out on a great hire? I think often companies forget that we are interviewing them as well. At any rate I think it's fair to ask in the interviewer why they are asking the question or what is their concern. Especially if the question already made you decide to turn down any offers.
I also mentioned that this was a place that is widely regarded as a great employer. Most engineers would want to work there. It makes it really hard to say that the weird behavior of one recruiter is a good reason to pass, but at the same time, no one should have to put up with having their frequency of open source contribution questioned like that.
I appreciate the argument that burnout is more like depression, and should be approached with the same mindset. (i.e. simply taking time off of work might not cure it.)
But that's not really a valid counterpoint. One person's ability to have a 2-year Github streak is not evidence that burnout is just "in the mind," as he puts it. It just means that he's found a particularly sustainable balance. In fact, I'd argue that he's kind of an outlier. That 2-year streak would definitely not work for everyone.
What we commonly refer to as "burnout" can also surface with very physical symptoms. Blood pressure spikes, teeth grinding, weight loss or gain, physical exhaustion, even heart attacks. Maybe these symptoms are better attributed to stress or lack of exercise, but when they are a result of overwork and, more specifically, the compulsive need to work at a certain level despite all costs, that's burnout. It's not good and should not be taken lightly.
the way I see it, it validates that I am capable of following simple directions and running a python script :3 that's got to be a valuable asset in an employee, right?
I don't care about the contribution streak, but do have friends who comment on theirs on Twitter now and then. I suppose it's just another thing to be proud of...
But, this is true whether you commit a few irrelevant lines manually or automatically. So if you're going to do it just for the sake of showing off, at least make it efficient, no? :P
Seems like it only encourages people who want to do programming outside of work.
We've already concluded that no one cares about your streak except yourself.
(The worker can ignore the 48 hour limit, but not the 24 hour break limit.)
> an adult worker is entitled to an uninterrupted rest period of not less than 24 hours in each seven-day period
The key word is "entitled", meaning that an employer cannot force them to work (or fire them if they don't work). The worker can choose to do whatever they want with their time, so long as they retain the right to exercise their legally permitted break.
It would be a very weird law to not allow a worker to do any work related to their job during their free time. Would that mean that a musician couldn't play music during their free time?