When you make the decision to transition into a new career it's fair to say that it might be difficult to get your first opportunity. After all, you are competing with others who already have experience. So, when I learned about the Outreachy internship program I was excited to apply as it seemed like just the opportunity I had been hoping to find.
So, what is Outreachy? In a nutshell it is a paid, remote internship program. Outreachy's goal is to support people from groups underrepresented in tech and help those that are new to free and open source software (FOSS) make their first contributions. Interns work with experienced mentors from open source communities and the projects may include programming, user experience, documentation, illustration, graphical design, or data science. The best part, from my perspective, was that you do not have to be in college to be eligible.
There are 3 stages to the Outreachy application process. The first is the initial application, the second is a contribution period, and lastly there is a final application.
The initial application for Outreachy is pretty straightforward. They list the requirements to be eligible clearly on their website, and ask you to verify that you meet those requirements as well as provide some additional details. Then you answer questions regarding your experiences and challenges up to this point and any discrimination you have faced while learning to code.
The questions are listed on the website so I took some time thinking about them before applying. They state that there is no need to write a long essay for each question, but they do ask for a well-thought out answer with details that help them to know a little more about you and your experience . I submitted my application within a few days of the application period opening up and then waited to find out if I would be selected to continue into the contribution period.
Until the contribution period officially starts they only list basic information about the communities and projects that will be a part of that Outreachy round. It is still useful information though, as you can start looking into the different communities as well as get a sense of how many projects will include the skills you have.
Once the contribution period starts those who are selected to participate have access to the full details of the projects along with details about the mentors. Applicants are then required to record at least one contribution to the project, or projects, they are interested in working on and complete a final application in order to be eligible for the internship on that project(s).
When I got the notification that I had been selected to participate in the contribution period I was so happy. The way I saw it was that this would give me the opportunity to learn how to contribute to open source and work on 'real-world' projects all while having a mentor, or mentors, ready and available to answer questions. I knew that this would be such a valuable experience even if I didn't get selected to be an intern, and I intended to make the most of this time.
One of the hardest parts was selecting a project, or two, to work on as so many of the ones I had the skills for seemed interesting. I was able to narrow it down to three projects and began by looking over the code and joining their public chat spaces to get a sense of the environments. In the end, based on the project and the interactions I saw in the chat room between the mentors and the applicants, I chose to focus on the localization project with Mozilla.
I felt that in order to get the most out of this time it would be best to focus on just one project and make multiple contributions if possible. This would allow me to start with smaller tasks and then build up to bigger tasks as I became more familiar with the code and the mentors' expectations. Also, if I was to be selected for the internship I would have a better familiarity with the code base which would make it easier to get started quickly with the internship tasks.
I started by going to the list of tasks that were specifically set aside as mentored and asked to be assigned to an available task. It was pretty straightforward and I was able to complete it within a day or two. Once that task was complete I reached out to ask to be assigned to another task. As there were many applicants still looking for a 'first bug' the mentor suggested I reach out to him on the IRC channel and he would find another task for me to work on.
From here on out, I would work on the task assigned and when complete I would ask the mentors for what they would like me work on next. The nice thing about this was that they were able to evaluate the work I had done and then assign a new task that would stretch my skills just a little bit more. In the end I was able to complete six contributions within the month-long contribution period, with each one pushing my skills a little higher up the ladder. This was exactly what I was hoping to get out of the contribution period!
As I stated earlier, before the end of the contribution period each applicant needs to have recorded at least one contribution to the project(s) they would like to work with and complete a final application. Like the initial application this one is pretty straightforward and doesn't take too long to complete.
In it you are asked if your availability for the internship period has changed and to let the mentors and Outreachy know if you have anything planned during that period, such as a trip, so it can be accounted for. You are also asked to reflect on your experience with open source both before and after the contribution period. Lastly, some projects have specific questions or information that they ask the applicants to complete.
Once that is completed and the contribution period ends you just wait to find out if you will be selected as an intern. The announcements are scheduled to be made about a month later, which is really painful as it is so hard to wait. Outreachy encourages applicants to continue to contribute to the projects even after the contribution period ends as part of the goal is to familiarize more people with the open source process in order to increase participation. I was fortunate in that I had been working on a bigger task towards the end of the contribution month and so I was able to continue working on that while I waited. However, even if that were not the case I would have continued to contribute as the process really helped me grow, and it was so much fun.
When the day arrived, I anxiously waited until 4:00pm UTC for the announcement of all the interns. I was elated to see the email come in congratulating me on being selected. It was such a relief, and I was so excited to be able to continue on this journey and to keep working on the project that I had grown quite fond of.
I truly can't wait to see the growth I'm able to make during the three month internship as I have already learned so much.
Wish me luck, and keep checking back as I plan to write about my experience throughout the internship.