My First Contribution
- 2 minsIt all started because I wanted to learn Python. The University I attend is a bit lacking in pythonistas, so I had to take matters into my own hands. However, I wasn’t sure which route to take. I tried going through python problem sets on HackerRank, but these felt a little dry and I didn’t feel the concepts sinking in. I thought about trying pycharm’s educational version, but I soon found out this was for someone completely new to programming and I soon lost interest. I needed to rethink my strategy. I had just finished my software engineering course where I got well acquainted with GitHub and loved it. And then it struck me: I should just contribute to an open source project written in Python! And so begins my story into the world of open source software.
Now that I was ready to embark on my epic journey, I just needed to find a place to start. Which was a bit overwhelming: Which projects are good for beginners? Am I going to be able to easily set up the development environment? Do I even have the necessary skills? I mean I’m trying to learn a language by contributing to a project? Am I crazy for even thinking this? My mind was flooded with all of these questions, questions sprinkled with just a touch of self-doubt. But I wasn’t going to let that stop me. I’ve been in those types of places before, and I’ve always found that keeping my head down, pushing forward, and working hard generates a large area on the probability distribution of success. So, I opened up Chrome, started up that shiny V8 javascript engine, typed, “good github projects for beginners”, and hit enter (actually return cause I’m using a mac)…
I began perusing through lists of projects, primarily this great repo: https://github.com/MunGell/awesome-for-beginners. There were certainly plenty of choices, but seeing projects in languages I was more proficient in, as well as maybe picking up another language of interest (TODO: show C++ some <3), made me feel a bit overwhelmed. So, I did what any normal person would do; I started clicking on links. I clicked here, README, I clicked there, README, half the battle with most of the projects I looked at was properly setting up the development environment. And then I came across a very special page on the internet, Zulip’s server repository, (along with awesome terminal(!), and desktop clients. As well as a solid mobile experience running on React Native). Now this is where the journey truly begins.
To be continued…