GitHub streak: End-game and post-mortem
manishearth.github.io
manishearth.github.io
One thing I try to do on goals that require an action, is not to add stipulations to it like the OP eventually did in the beginning. If you make the hurdle too large you're more likely to break the streak and more likely to fall into inaction, so allowing a small contribution to continue the streak is a net positive. For me, I want to study French every day and I accept that somedays I'm going to be so busy with work that I can only afford five minutes. That's fine--it keeps me motivated the next day and that day likely won't be just five minutes.
I've found it doesn't work for everyone. I personally see it as a game/challenge whereas when I speak to other people they find it overwhelming. As always, there's no one-size-fits-all when it comes to motivation. It looks like it worked for OP to get to where they wanted to go, though.
[0] http://blog.hellopico.com/the-seinfeld-method-dont-break-the...
Agreed; in retrospect setting rules was a bad idea (I wanted to keep it "pure" but that was a very arbitrary standard and hard to keep up). Later in the process I was able to maintain the streak with small things when I had lots of other commitments -- but that didn't make me downspiral into only small contributions -- I bounced back -- which was the important part.
> you're more likely to break the streak and more likely to fall into inaction
This was what I was mostly afraid of once I was well-past the 100 mark. By then I knew that I had gained a lot from it. But I was still afraid that breaking the chain would let me break it again, and again, until it's back to being random bursts (but more regular bursts).
Now, I'm no longer afraid of that, because I know that the streak isn't motivating me at all anymore. I'm being motivated by -- whatever it is, I don't really know :P
> there's no one-size-fits-all when it comes to motivation.
Big +1
So that's why you went on a fuzz-all-the-things spree on Servo!
(Btw, thank you for that fuzzing spree -- you got some interesting use cases for afl-rs and found bugs and now I want to do the same!)
https://twitter.com/sarahmei/status/597276242887348224
https://twitter.com/nick_r_cameron/status/597328012787384320
It's nice when we have a candidate with a GH history, but I'd venture a guess that 90% of the best code written by the engineers we hired was written for some other company in private repos. I can't imagine that being too far outside the norm.
I've had this happen to me, when interviewing (in 2011) with an bachelor's and an expected master's from MIT, and a bunch of other great experience on my resume. I'd had a phone screen, and got an email from one of the engineers asking to see my GitHub. There wasn't very much there at the time, and I was confident I was out of the running without a GitHub presence, so I didn't even reply. A friend at the company said that they liked me and were just curious (and I ended up replying with "well, here's a bunch of patches I sent to the Debian BTS", and ended up getting the offer).
I see MIT classmates with years of real work experience behind them worrying about their GitHub presence and how it affects their future jobs. I see questions on Reddit from students who've been asked this question. I see job postings that ask for a link to your GitHub. I don't know if anyone explicitly disqualifies candidates based on a lack of contributions, but there is absolutely an impression that it's a strong negative signal.
On the other hand, there's something of an inherent metrics bias when you evaluate some candidates on one metric and others on a different one. It's very hard to calibrate those two scales, and there's a risk that you'll be tempted to do things like compare one candidate's GitHub PRs to another candidate's whiteboard code. Even if you don't make that comparison directly, you'll never dislike a GitHub-evaluated candidate for not remembering standard APIs, making off-by-one errors (if they have the luxury of a test suite), taking half an hour to understand a problem, etc. You'll never dislike a whiteboard candidate for breaking with existing style, not commenting or writing good commit messages, being a jerk to people who send in support requests as issues, not being able to respond to code review feedback, etc.
If you have unlimited headcount, you might be able to set independent baselines for both styles of evaluating candidates (although tuning them will, again, be hard), but if you're at all comparing candidates to each other, it seems likely to cause one set of candidates to have a much easier time than the other, based on which things your engineers value. And, necessarily, that means you'll be willing to hire worse candidates from one set than from the other.
Using a GitHub profile to bypass a coding challenge, FizzBuzz, or similar is fine. Using it to break ties or to allow a candidate to express "I'm actually good at my job, even though I'm bad at interviews" is probably fine, especially if there are other ways to do those. But having two different evaluation strategies is likely to be unfair both to yourselves and to the candidates.
At this point -- keeping it up would be mainly a vanity thing (but I'm not consciously doing so). For the past few weeks I haven't even thought about it unless I open my profile and notice ("has it been that long? Wow."). It's just continued with no conscious support -- I used to sometimes think "hey, did I forget to commit today" (the answer would usually be no, but the point is that I was still asking myself this). Now I don't. Not because I know I've committed, but because the streak doesn't matter.
[0] https://github.com/zg/streaker
[1] https://github.com/zg/streaker/commits/master?page=710
In fact I have a bunch of commits on my github account that predate the account itself because of commits imported from a project that used to be on svn.
As I mentioned in the post; the streak is useful as a personal metric; so if you're cheating, you know, and it's pointless :)
You can easily see in mine (https://github.com/daurnimator) when I went on vacation for 3 weeks in November/December last year.
During the semester I have to stay put anyway. Any weekend excursions I would be taking a laptop with me for studying (we have a lot of coursework, and I usually am overloaded with stuff so I need to allocate at least some weekend time for coursework) so I would squeeze in some programming and push it when I got access to internet again. Programming is a refreshing change from physics coursework (which I like too, but it gets tedious) and other stuff, so it's easy to do it daily.
When I went on vacation to the Sunderbans I was filing issues and making minor fixes from my phone.
This summer my internship is elsewhere, and while I do still contribute to Rust/Servo because I love doing it, as mentioned in the post I'll probably forget one day or just take a break.
At this point, if I go on vacation or something I'm just going to drop it -- as I mentioned I don't care about the streak anymore and what I gained from it won't go away unless I take a really long break.
As far as missing out on Real World social interactions and stuff; I make sure I get some sunlight and talk with people :) Living in a hostel I get a lot of that anyway. Plus, between organizing events and going to events of various kinds I don't miss out on much.
As far as missing out on programmery things go; I don't mind. Part of this is because programming has been a hobby for most of my life and only recently did I start treating it as a viable career option. (I had thought of it as a "backup plan" in the past but didn't do much to maintain that).
I'm not doing as many large contribs as I was doing last summer or this winter. And yes, that can get to me at times. I have this huge queue of things that I've planned to work on, and sometimes someone else picks it up. It's initially saddening, but then I'm happy because someone else wants to work on something I thought up, and if they hadn't, it would never have been done in the first place!
In open source you're generally surrounded by awesome people so I'm used to it; I don't really have anxiety issues due to that.
2. http://geoff.greer.fm/photos/screenshots/Screen%20Shot%20201...
Otherwise, you should take a holiday!
It is a metric for self-motivation, but I guess it can be wrongly used for other things. Is like the "GH is your CV" thing, ignoring that there are other code hosting environments and non public code.