OUTREACHY: Why (REASONS!) & How To

Are you a trying to figure out how to get your feet wet in tech building something other than class projects or toy tutorial apps? Are you reluctant or unable to participate in a traditional tech internship program? Are you interested in open source, but intimidated by all the established contributors you see blithely sending in something called pull requests and building ambitious new features? If your answer to any of these questions is “yes” (or, better yet, “abso-profanity-lutely”), AND you’re:

  • from an underrepresented group
  • an independent problem-solver who’s comfortable and happy working remotely

…then this post is my gift to you. 🎁

Please go read the basics about Outreachy right now (it’s OK, I’ll wait). Cool, right? It’s sort of like Google Summer of Code, which is a similar remote mentorship program working with open source projects, but much, much better because:

  1. You don’t have to be a student (or especially experienced) to participate.
  2. Diversity and inclusion are front and center.

<snarkyover30rant>Frankly, I can’t think of any legitimate reason for Google to limit their Summer of Code program to students except for blatant ageism. They claim to want to attract more female applicants (blah blah blah), but who knows if the pipeline is actually the problem since they don’t release the gender breakdown of applicants, only accepted participants, and the last few years it’s held pretty steady at around 89% men. Whatevs, Google.</snarkyover30rant>

Anyway, everyone has a different story about how they came to Outreachy, so here’s mine in the hope that some future reader might be helped by it (even though it’s super-specific and a little weird):

I was an English major in college, which I hated (college, not English; that’s a restrictive clause, people — look it up). I was a dopey naive Californian 3,000 miles from home, lonely, unhappy, and lacking any semblance of self-confidence. I loved math, physics, and biology, and vaguely wanted to be a neuroscientist. Sadly, the aforementioned lack of confidence meant I was easily intimidated, and (bonus!) terrified of failure, so I wound up majoring in literature because❋ there were no right answers (this was before you could just google stuff✤), and the English professor I had for my first three lit classes was awesome❀.

Then, as a newly minted English major, I did what I fear many of my brethren (and, presumably, sistren and non-cis-tren) did… I got a job in a bookstore. (Not just any bookstore, amusingly, but Stacey’s Technical Bookstore in Palo Alto, where 80% of the books I sold were from O’Reilly. Foreshadowing!) Then I bopped around publishing for a while, applied to grad school in creative writing, got rejected from 10* schools, took three months off to travel, wound up staying in Italy (marrying a local and running a vacation-rental business), took some online coding classes from O’Reilly, eventually realized I was miserable and bored, got divorced, and finally wound up in a computer science-ish master’s program at Mills College in Oakland, California.

Mills has a wonderful post baccalaureate/master’s program for those who want to move into a tech career or computer science graduate program but lack the undergrad credentials to do so. I was very lucky in that it’s an unusual program (most post-bacc tracks are for people with an insufficiently science-y degree wanting to transition into medicine) and happens to be a half-hour drive from my dad’s house. While being closer in age to the professors than the other students didn’t bother me during classes, when it came time to apply for internships… I felt awkward. If I managed to land a position, that meant I’d have to:

  • Stay in the Bay Area for the summer, and
  • Live with my parents or in shared housing with a bunch of undergrads

Since neither of these two points were hugely appealing, I started looking for alternatives. As soon as I heard about Outreachy, it was like a huge light bulb came on over my head💡.

Unfortunately, the first year I didn’t leave myself enough time for the application process. I was taking four classes, two of which totally tied my brain in knots, and I only really felt like I could dedicate spring break to applying. Foolishly I chose two different Mozilla projects (one of which involved building Firefox… ./mach whimper), thinking that would help my chances, but I wound up only having time to make contributions without ever finishing a written application.

This year I was determined to get in, preferably on a Mozilla project (because Mozilla = awesome 🤩). I started relatively early, read through all the projects, picked three that seemed interesting, and started following directions and making contacts to get started on my contributions. Again my theory was that I should try to apply to multiple projects in order to maximize my chances, but in my case this turned out to be extra stressful and not really worth the effort. After making an initial contribution to another project and exchanging email with a third mentor, I realized that in both cases I was mostly frustrated and confused — trying to get things done quickly so I could go work on webcompat project stuff.

I decided to zero in on the one project I truly wanted to get into, and proceeded to spend a ridiculous amount of time on my remaining contribution and my application. I understood and liked the project, and my mentor was very supportive and helpful (he always answered all my questions, even if I asked five in one email, and usually sent me a few specific links that helped lead me either to a solution or to a better understanding of what the heck I should be aiming toward). That supportive quality is important, particularly when you’re working at a distance. When you’ve just spent five hours staring at one line of code that you just can’t get to do what you think it should, it makes all the difference when someone says, “Hey, it’s awesome that you got this far and figured that other thing out. Don’t worry too much if this other thing doesn’t get solved right away.”

This, to me, is the whole point of Outreachy. Sure, you could just screw up all your courage and start slow on your favorite open source project in whatever spare time you might have and hope someone helps you out a little on the way. But having a designated mentor and a paid role makes a huge difference in how much you learn and how you think about your skills going forward. That kind of support is vital and life-changing.

Getting into the Outreachy program is like walking up to a giant, scary-looking building you want to enter and having someone hold the huge, heavy door open for you while giving you a big smile and making sure you don’t spill your coffee on the way in. It lets you shortcut the secret handshakes and just start learning. It’s a fantastic opportunity for a determined person to get a foothold in an industry that unfortunately isn’t especially known for being gracious or accepting. If you’re eligible, APPLY — I promise you won’t be sorry.

Here are my random tidbits of scattered advice on the application process:

  • Make your decisions on which project to pursue based more on the people you’ll be working with than the technologies or details of the project itself. Every project and team dynamic is different, and you’ll have a better time doing something you might have thought you weren’t that interested in with great people than you will doing something you love with people you have trouble communicating with — go with your gut over strategy when choosing.
    1. Pick two or three projects you’re interested in, regardless of the technologies they use.
    2. Make your list bigger by adding any project that lists skills you currently have, even if you’re not that into the project goals at first glance.
    3. For projects on your list, spend some time reading through their GitHub issues and pull requests and lurking on IRC — pay attention to how people communicate and interact with each other and make sure you feel comfortable and at home with the tone and general mood (sidenote: get to love IRC, even if you think it looks crazy retro — IRCCloud is a good place to start and more user-friendly than many clients, and this article gives an overview and explains basic commands).
    4. You’ll learn a ton regardless of what specific language or frameworks you use (and you might be surprised by what you wind up enjoying).
    5. Sometimes projects morph during the internship period and you wind up working on a different sort of task than what you signed up for, but if you form solid relationships with people you enjoy working with, they will likely be more than happy to help you out with contacts and advice down the road.
  • Keep checking the project page for the first three weeks that applications open — a lot of them get posted later (I think at least half of them weren’t up yet the first week this year), and you could miss out on your preferred project if you don’t yet realize they exist.
  • Be proactive when you first approach a potential mentor — read Dustin’s advice and make sure you read any and all available directions thoroughly and follow them before asking a super-general question like, “How do I get started?” (Caveat: Occasionally there really aren’t any directions and you do need to flat-out ask… but most projects post the basics you need to get started.)
  • Pay attention to how responsive your mentor(s) is/are and how well you communicate even in short exchanges — you’re committing to working remotely, so you need someone who can be your lifeline to sanity when you’ve been beating your head against the wall for four hours straight — make sure you feel like this is someone who will want to help you get what you need to move forward.
  • Apply to the webcompat.com project at Mozilla if they’re participating because in my totally unbiased view they are an awesome group of humans doing good work 😉.

Please, please, please — anyone who has any questions about the process, wants to apply but is nervous, or just wants more information, don’t hesitate to send me an email or find me on Twitter. I would be delighted to talk you into applying, give you a pep talk, help with strategy, whatever. ❤️


❋This is over-simplified, and kind of embarrassing, but basically true.

✤ This is also true. And makes me sound like a dinosaur. Awesome. 🦕

❀ He was a fantasy nerd who told us about dropping out of premed after reading Lord of the Rings, read us romantic poetry, and switched off the lights to play us mood-setting Sting and Peter Gabriel songs in the dark between discussions. (Yes, I had a huge crush on him. Oh, shut up — it was the 90s.) Also, he wrote insanely encouraging praise and comments on my papers, which I have somewhere in storage and should probably frame over my desk for mood lifts on bad days. Thanks, Professor Pagano, you were pretty much the only bright spot in college.

* I know, right? 😳 Ten, for Pete’s sake. Brutal.

💡 Much like, dare I say, the Webcompat.com icon:

icon128