12 14 2018
Folks, this is the story of, how I become one of 46 interns of Outreachy December 2018 to March 2019 round. English is not my mother tongue; please excuse any errors.
A little background...
My name is Dhanuka. I'm a 24 year old, self-taught software developer from Sri Lanka. What inspired me to get into Computer science and programming was the MIT Challenge. And also reading about the achievements of self-taught software developers from around the world. According to my stackoverflow I have been coding for more than three years. But, I could not get a single entry-level job or an internship. It's impossible to get a job at a tech company without a degree in Sri Lanka. All the internships and hackathons were only open to university students. Along the way, I had to take different jobs to provide for my family. My last job(two months back), I was a receptionist at a local hotel. It's not a good life to live. I always knew I could do something better with my life.
My first hackathon...
I was almost already given up on my goals. I didn't have anyways to get some professional experience. Last May, I got to know about Mozilla's Global Sprint. An open-source 48-hour hackathon . Finally, something I could get in. Also, there was a local event, as usual, I could not get in :) But, I participated virtually anyway. So, the project I choose was a Python project. At that time I didn't know anything about Python. I was able to understand the basic Python syntax within 1-2 hours and how to setup the project. That's when I fall in love with the Python Programming language. And I made my first pull request. At the end of the 48-hour hackathon, I was able to submit 3 PRs. I was very happy, that now I have 2 days of professional experience as a software developer. Also at the same time, I stumbled across Outreachy. Since then, I started to improve my Python skills and have been regularly checking the Outreachy's web site. Thinking about, "This is the perfect opportunity for someone like me. Will they give me a chance?"
Applying to Outreachy...
I had many doubts when submitting my initial application to Outreachy. Because, Previously Outreachy was only accepting Women, Transgender, Trans-men, genderqueer people and also my English writing is not that good. Finally, after 10 days of submitting my initial application I got, the conformation email from the Outreachy organizers, that I got in!! From this round Outreachy is open for all! Next is the project selection and contribution. So, I'm really interested in Computer Security and DevOps. When looking the project list, most of the projects were JavaScript. And really don't like JavaScript. It's just a personal preference. I like everything noscript
. So my choices were Git, Debian and OpenStack. So, I sent emails for mentors at those organizations. I got responses from everyone. It was very clear that mentors at the OpenStack were ready to accept contributions from Outreachy applicants, had created list of tasks specially for the Outreachy applicant's so we can get familiar with OpenStack, specially with OpenStack Sushy project and Redfish.
Initial contribution to OpenStack...
At first, I didn't know anything about the project. So I was terrified at first. My project is called Sushy, a Python library to communicate with Redfish based systems. When I started to contribute to the Sushy project, there was nothing much to set up on my side. You don't have to download or install too many things. And that's a good thing when you're a beginner. If you have Python installed on your system, you're pretty much good to go. Everything you need to know before contributing clearly documented here. Still, I was afraid to make my first contribution. So, I had set up an IRC client and joined the #openstack-ironic
channel on Freenode. That's how I met my mentor Dmitry Tantsur. I still remember that he was on a meeting that day, yet he answered every question I had and explained me the basics. With his guidance, I have submitted my very first patch. Which added a String filed to a Python class and a bunch of unit testing to go with it. It was a very simple and small patch, for me it was a valuable learning experience and also a confidence builder. I learned about proper Git commit messages, Python unit testing, JSON schema.
To complete the task Product and ProtocolFeaturesSupported
, one more patch was required. Also, I met my second mentor Ilya Etingof. With the guidance of both my mentors, I have successfully completed my first task(2 patches). Outreachy requires at least one contribution to be eligible for the final application. At that time there were no any other Outreachy applicants contributing to the Sushy project. I was first. I was like, "I got this. That was easy" Also I had a full-time job as a receptionist. After a day later Gabriela Soria came along and submitted a much longer patch than me :) Then I was terrified, that I might miss this opportunity. You know like EMINEM said, "You only get one shot, opportunity comes once in a lifetime". The very next day I quit my job and started working on my second task. And then third and so on. By the time of final application deadline, I had submitted 7 patches. Nearly 1600 lines of code \o/.
Victory day...
It was really hard to wait for the results. Nov 16, Around 9:32 PM in Sri Lankan time, I got the email from the Outreachy organizers, "dnuka accepted for Outreachy". I have never ever felt this great before in my life. I think it was happiness. I didn't know what to do or what to say. I just picked up my motorcycle and driven away from home. I always knew that hard work pays off. But I have never experienced it before. When I got home, it was very early in the morning, I looked up the Outreachy alums page to see, who else got selected. Then there was Gabriela's name too. I was genuinely happy. We both made it!
It's been only a few days, since the internship started. There's still a long way to go. Also, I'm planning to spend most of my stipend on putting myself through college. Possibly a part time Computer Science program.
Final thoughts...
I just want to thank my mentor, Ilya for all the advice that he gave me during the application period. I still remember very first advice he said to me "If you are motivated and persistent, you will definitely succeed". Also, I want to thank my mentor, Dmitry for guiding me through every step of the way from my initial contribution to making my final application. He also introduced me to the culture at the OpenStack Ironic team and Monday meetings. One of the things I really enjoy, saying good morning to everyone at the IRC channel. Also, I want to thank my friends at the OpenStack Ironic team. Specially Julia Kreger, Iury Gregory and Debayan Ray.
A Big Thanks to Sage Sharp and organizers at the Outreachy for creating this life-changing opportunity. Also, I want to thank our OpenStack coordinator Mahati Chamarthy for the warm welcome to the OpenStack.
You may be wondering why I did this; made this big article describing everything :) I just wanted to you to know that if I can do this, anyone out there struggling to get a job at tech, You can do definitely do this too. This is your opportunity; look no further than the Outreachy.