Hey, it's October. Which means 2 things:

  1. Hacktoberfest! [make 4 open source contributions, win t-shirt]
  2. and Inktober! [draw in ink every day, buy t-shirt?]

Let's talk about open source.

Some context

I've been revolutionizing my learning tools lately - discarding some (arrivederci, 🐝!), trying new ones - in an effort to get really super efficient in learning. I want to really maximize the value-add I get when I embark on new stuff now, since the intrinsic opportunity cost of my time is VERY high now. One of the big new ideas I had in terms of "how can I most efficiently get better and learn a lot?" was contributing to open source 🎉!

At the moment, 3% of open source contributions come from women. When women hide their genders while making GitHub pull requests (PRs), their code is more likely to be accepted than PRs made by men. So that's interesting.

This makes the 16% proportion of Wiki contributors who are women seem, as Esther Duflo said in a similar comment about underrepresented groups in economics, positively numerous...

Contributing to open source: Pros

  1. Learn from the big guns. Contributing to pandas, sklearn, and others was like temporarily joining some high-powered teams of smart people. It was definitely intimidating, and honestly the culture shock and environment setup took a lot of work in the beginning. But I learned so much about how projects can be set up, how Python can be written, and how teams can work efficiently.

  2. Learning a la carte. The other nice thing about OS is that you can pick it up and put it down as and when you have time. My schedule is lumpy!

  3. Build a public-facing portfolio (aka transparency and prestige).

  4. See and be seen. If you contribute a lot, I presume you get more and more well-known with the core devs. So you're basically networking.

Contributing to open source: Cons

  1. I know you like to job, so I put job in your job so you could job while you job. As I said in the first pro, contributing to OS was like doing another job on top of my actual job. I was learning a lot, and the two jobs cross-pollinated for sure, but oof, I was pretty tired by the end.

  2. Hostile work environment. OS has a bad rep - maybe one of the worst reps? - in tech for being unfriendly (to put it mildly). This can really limit contributions - you want to join projects that have good cultures, and it's hard to read culture from the outside looking in (though looking at discussions on old PRs can help). Thankfully, both pandas and sklearn were making clear efforts to be friendly - or, at least, friendly enough. Super efficient, but not mean.