Nishka Dasgupta

Computer scientist, reader, writer
Denmark

How to Apply for Outreachy

What is Outreachy?

Outreachy is an amazing programme that provides funding and mentorship, for people belonging to groups that are under-represented in the technology industry, to work on open-source projects. Under-represented groups include women, LGBTQ+ people, people belonging to ethnic minorities, and “anyone who faces under-representation, systemic bias, or discrimination in the technology industry of their country”, which also would include differently-abled people. The internship itself is biannual – there is a December-March round, and a May-August round. The internships require a commitment of 40 hours per week for 3 months (possibly more), so it cannot be balanced with existing full-time jobs or college. Selected interns work from home on one open-source project of their choice for three months, under the guidance of a mentor.

I was fortunate to be accepted by Outreachy to work on the Linux project, Coccinelle clean-ups in the Linux kernel, from May-August 2019. In this post I will talk about the application process and share what I learned about the application process.

Who can apply?

If you want to apply to Outreachy, you do not need to be a current student or professional. You do, however, have to write on what barriers you have faced in the technology industry of your country, and what makes you believe you would face discrimination because of your identities. This is especially useful if you do belong to an under-represented group but do not see your identity explicitly listed on the website. This is the first step to creating an application.

How can you apply?

Once an initial application has been approved, you have to pick at least one open-source project that you want to intern for, from the list on the website (if selected, you will only be chosen for one project). The website helpfully provides a table for each project that lists what levels of proficiency in which skills (including specific programming languages) you need for that project. I would personally recommend one project for first-time applicants who are still students, because the six-week application period requires sustained contribution to the project(s) of your choice, and this is not easy to balance with classes or other work unless you have extensive prior open-source experience.

I was, myself, rejected the first time I applied – I applied to Linux in 2018, and even though I knew C well, it took me a long time to get comfortable with the kernel and make contributions that were not full of mistakes. I applied again in 2019, to both Linux and Fedora. This time, my contributions in Linux were much faster – although my skills were a bit rusty, I remembered enough that I could make better and more frequent contributions than before. Fedora was a different story – since I had not contributed to Fedora before, I needed a lot of time and guidance initially, just to get set up and understand what was happening and what I should do.

The most invaluable source of help, both in 2018 and 2019, was the various mentors. Each project listed on Outreachy will of course have one or two mentors listed that interested applicants should reach out to for help, but a lot of the communities also have community channels. Linux, for instance, has a Google group for interns to submit their posts, and this group is monitored by several Linux volunteers who are always willing to answer applicant queries. Fedora has group chats on IRC, which tends to involve everyone involved in that project, whether prospective interns or not; this also means that a question asked by a lost applicant may be answered by someone who has nothing to do with Outreachy but is willing to help, nonetheless.

As I mentioned before, I applied for Outreachy in spite of having no prior experience with the Linux kernel or with Fedora. I cannot stress enough how helpful the mentors were in this process. From Linux, I had the pleasure of being guided by Julia Lawall, Vaishali Thakkar, Shraddha Barke and Greg Kroah-Hartman, among others. From Fedora, I had the support and advice of Stephen Gallagher and Neal Gompa, among others.

If you’re applying for Outreachy, I would strongly advise you to follow instructions carefully (Linux has a particularly comprehensive Kernel Newbies website), ask mentors for help, and focus on making a few good contributions within the application period. If a project’s mentors advise you to start small (e.g fixing whitespace before you delete whole functions), you really should listen to them.

As your contributions are accepted, you should add them to your application. At least one accepted contribution in any project is required to apply. The final requirement for the application is a timeline where you plan out what you are going to do during your internship. Naturally this will have to involve the required tasks of your selected project(s); you should discuss with your mentor how they envision the project going and what order you want to complete the tasks in. Whether you need a proposal as detailed as a research proposal, or just a four-line flexible sketch, largely depends on your mentor.

All in all, even if you are not selected (as I wasn’t in 2018), the application process helps you learn invaluable skills, especially if you want to try your luck again, like me. If you are selected, then it is an incredible opportunity to learn a lot over 3 months, and also earn a generous stipend to boot. I would strongly encourage people to apply to Outreachy, even if you lack confidence in yourself (you might be wrong, after all, maybe you’re better than you think!).