On May 6 2019 at 4:00pm UTC, I received the best news of the year. I had been accepted for Outreachy 18 with Wikimedia. It felt amazing to get the best outcome from what had been an intense application period. I refer to it as the best outcome because not being selected would still be a good outcome. I had learnt so much in such a short time during the application period.
For a long time, I wanted to be part of a community where I’d grow as a programmer and provide value as well. This year, I was going to have a very long time off from any commitments and so I decided to explore ways to achieve this. I remembered seeing a tweet from a previous Outreachy intern saying how positively the program had impacted on her, so I visited the Outreachy website to learn more. Outreachy turned out to be what I was looking for and more. What better way to achieve my goal than through contributing to open-source where I could learn and work on real-world projects?
I looked at the timeline and kept a countdown of the number of days left till the applications opened. Meanwhile, I read lots and lots of blog posts from previous participants and their experiences made me more interested in applying. I also started making simple contributions to The Mifos Initiative. Eventually, I did not apply to Mifos but through my little contributions, I learnt how to use git for collaboration. I got familiar with concepts like rebasing, squashing commits and how to resolve merge conflicts. Having these skills came in handy during the application period because it meant that I could spend time focusing on actual tasks, instead of learning how to use git.
Previously, I had worked with Java/Android a lot so when I did not find an Android project listed on the first day, I decided to try out for a Documentation/Python project by Wikimedia that seemed beginner-friendly. The project information was on Phabricator, a tool that Wikimedia uses for task-tracking. I went through all the resources listed and after some time, I felt ready to make my first contribution. I made a few mistakes when starting, like sending a pull request for an issue that someone else was working on, and asking a question on the wrong communication channel. However, the project mentor always corrected me politely and she was really patient with me. This made me really comfortable with the project and the organization.
An Android project was posted the next week and I tried it out as well but I couldn’t go far because of how heavy Android Studio(the IDE used to develop Android projects) is. My laptop would hang a lot and I ended up spending quite a lot of time working on simple tasks. Besides, I really loved working on the documentation project. I enjoy both writing and programming and the documentation project combined the two. I finally decided to put all my focus on the documentation project.
The application period was a roller-coaster ride of emotions. One minute I would be on top of the world with joy from getting a pull request merged, and the next I would be devastated from the thought of not getting selected. I would tell my mum how I felt whenever I was devastated and she would reply, “ It wouldn’t be a loss if you are not selected, you’ve already learnt so much and you can always apply in the next round. ” My mum knows nothing about programming but she could see the value I was getting.
What kept me going is focusing on the big picture, which is providing value to Free and Open Source Software(FOSS). I had to rearrange my thoughts and realize that getting selected would be an outcome of my desire to provide value to FOSS, and not the other way round. With this in mind, I stopped focusing on the quantity of my contributions but rather on their quality. I blogged weekly about my experience during the application period on my Outreachy Application publication.
After the big news
My internship officially begins on May 20. I will be working on the project Documentation improvements to the ~20 top 70 most viewed MediaWiki Action API pages on-wiki.
Meanwhile, I have been doing some prep work so that I can focus on the main tasks and achieve the timeline goals when the internship starts. I reviewed the pages that would need to be improved in order to determine the order of the pages to work on. Some of the pages document API modules that need special wiki permissions in order to use them, so I requested for and was granted administrator rights on Test Wikipedia. I also had a video chat with my project mentor where we discussed the goals of my internship.
As far as interaction with the bigger community goes, I attended and participated in my first Technical Advice meeting on IRC, and the Africa Wikimedia Developers meeting on IRC as well. However, I feel that community interaction is required of me not just because of my internship, but as a contributor to the organization.
I look forward to learning from and working with my amazing mentors(Srishti Sethi and Sarah Rodlund). Above all, I hope that my work will provide real value to the organization.