image is from an old post of mine on how I learned to code
I wanna talk about the value of mentorship ‘cause I sometimes feel like my mentors feel underutilized and yet I almost feel like the poster child for “mentors for everybody”. I applied for GSOC solely for the mentorship. I’m serious here; I’d wanted to get involved with matplotlib for years and years and was insanely intimidated by the prospect. And the thing is, this wasn’t a project where there were any real barriers to entry for me: the community is super friendly, I knew the library really well (hell, even wrote a tutorial on it), been programming in Python (including the science stack) for about 8 years (programming in general for about 15), teaching programming for 6 years, and I’m an organizer for one of the largest tech meetups in NYC (NYLUG) - ugh, I sound obnoxious even to my ears, but I just want to give you a sense of just how intimidated I was (still am…) despite on paper seeming like this should totally be in my wheelhouse.
It’d be easy to explain away my hesitation as a girl in tech thing (and imposter syndrome), as there’s all sorts of research about how girls underestimate themselves and hold back and the like, but I have mixed feelings about that explaination because I almost feel like I’ve been in tech so long that I should be over it. But then again, a few weeks back I gave a pep talk to an undergrad in my lab about not letting a guy in her class intimidate her and I brought up how I feel like an idiot all the time, ‘specially when having to ask my (generally awesome) advisor to explain something for the 10th (or 30th) time. It’s a weird tug of war between asking for help ‘cause I’ve hit my “I dunno and the internet references are terrible” limit and trying to tough it out ‘cause learning skills on your own/and self teaching are so highly prized. I sometimes feel like open source can exacerbate this ‘cause unlike an academic mentorship situation, nobody’s paid to mentor you in open source.
And so there’s so much a “where do I start?” Some of this is definitely personality type & environment. My GSOC mentors kind of exemplify both types: one suggested I dive into commenting on pull requests and the other suggested reading those requests. And the thing is they’re both right; the first suggestion is great for the types of people who need to just jump straight into a project, while the latter is better for those of us who thrive on getting some sort of grounding first. Anecdotally, it feels like the girls I know tend to fall into the latter, but that could very well just be a side effect of not feeling qualified and therefore feeling like you need to “know all the things” to start.
And as much as I’ve been framing it as a girl thing, I recently met a boy who was feeling equally lost at getting involved with Fedora. This is a project with copius “how to contribute” documentation, but it was a quick chat on their IRC channel gave him a starting place. And I was the one who suggested it, as this kid hadn’t had enough experience with the community to know to jump onto the channel, and was too intimidated to ask. And I know some of ya’ll are scoffing ‘cause anonymous online etc…but like anon online is still talking to people. Even now, I feel like about 85% of my comments on gitter/issues/pull requests sound idiotic, but open source contributions inherently happen in public and so it’s either sound like an idiot or don’t contribute.
And so to swing back around, arguably the biggest value of a mentor is their institutional knowledge. Yes, open source projects are institutions of sorts with their own politics that often aren’t spelled out in even the best “how to contribute” guides”, and this culture can sometimes make even the most friendly communities seem impregnable. But a mentor who is steeped in the community is also able to teach a student how to navigate the community: little stuff like encouraging the student to participate on the active communication channels (gitter, mailing lists, irc), more direct contributions like the protocols for things like issues and pull requests, and even just by being a safe space for asking questions while the mentee builds up their own institutional knowledge. And it’s that wildly undervalued, utterly intangible, building of institutional knowledge that is kind of intrinsically key to feeling like you’re really a part of the project. It’s the difference between one off PR and active contributer, which is ultimately the end goal of GSOC.
As a side note, the most ridiculous part of my hesitation was probably learning that a longtime acquaintance (and now member of a commitee I’ve been on for years) was a contributer and so I could’ve probably asked him for my “how to get started guide”. But hesitation. and fear, and “omg, where do I start?” got in the way.