For the last three weeks, I’ve been working as an Outreachy intern with Linux Kernel. Outreachy is an amazing three-month internship programme to get more underrepresented people to work on Free & Open Source Software (FOSS). It was started because of very low participation of women (less than 8%) in Google Summer of Code (GSoC). It’s completely remote and interns are paid $5,500 on completion of the project with an additional $500 stipend for attending conferences or meet-ups.
How did I get here?
Last year in September 2016, I saw a tweet about call for applicants. I had never heard of Outreachy before and looking at the list of projects by organisations like Mozilla, Wikimedia, OpenStack, Linux Kernel etc., I was pretty intimidated. I had already been working full-time as a software developer for one year now. So I didn’t apply.
Fast forward beginning of this year, I was working within a team where I was really unhappy. One day, my manager came over to me and told me if I wrote code like this anywhere else, I would be crucified. Odd choice of wording aside, I really began to wonder if I was fit to be a developer. And that maybe I was not in the right career path.
Late February, I saw lots of encouraging tweets on Twitter and decided to apply! I started looking at projects on the Linux Kernel. It took me two days to set up the kernel code and get it working. I learned so much about git that I had never known after 1.5 years of work experience (git rebase is my number one favourite command now!). The kernel community communicates solely by text based emails and very effective patch guidelines. You will go through the harshest of code reviews and learn a lot. I learned how to write a kernel module, about the IIO subsystem, the semantic patch language coccinelle, the kernel radix tree data structure and the IDR API.
This time, I applied but I did not get in.
I was rejected and obviously very sad but I got out a lot from this experience. Some of my patches were merged in 4.12 release! Much more confident and hopeful, I moved teams and was happy to find what I went through was a one-off experience. It was not my fault but the toxic work environment that was making me second guess myself.
After the rejection, the coordinater for Linux Kernel Julia Lawall had sent me a mail encouraging me to apply again in the next round. I did and I got in! And she is my mentor and we are working on improving attribute documentation for the kernel.
What changed in this round was that I read The C Programming Language and Linux Device Drivers to better prepare myself. I focused on finishing all the small tasks for one project and used coccinelle to send lots of patches.
So here’s my pitch 💥
If you’re eligible, you should definitely apply.
- You’ll get to be the part of an awesome and welcoming open source community.
- You will do work that has a real impact. Past interns have worked on projects ranging from programming, documentation, user experience, illustration and graphic design, to data science.
- You automatically win bragging rights when you contribute to open source software. All your work is public!
- You get to try and see if working remotely is your thing.
- You’re not good enough is not a reason to not apply! Outreachy helped me overcome this very fear.