Submitting a WIP Pull Request to Open Source Projects: or, why asking for help is okay
I remember the first time I dreamt in Ruby. My friend was trying to ride my bike, but he wasn’t initializing his instance of the bike class properly! How could he expect to ride it?! This was less than one month into my time at The Turing School of Software and Design. We live and breathe code at Turing from the very moment we first cross its threshold, and I have continued to be immersed in the delights and frustrations of coding for 10 hours a day for the past 7 months. All of which is to say that I’ve been learning Ruby on Rails pretty hardcore now for a decent chunk of time.
That’s why when I selected my first open source issue to contribute to, and it was flagged as beginner friendly and Rails I thought, “OK. I got this.”
It’s easy to look at the things you see every day and think that you totally understand them. I thought writing thorough tests for a search bar and then actually creating a search bar on a Rails app would take me at most an hour. I thought it would be far more difficult to set up the environment on my personal machine and get familiar with the open source code base.
And I was not wrong. Those things did take a while. But then the Rails did too! It turns out that there is a world beyond Turing where they do things in different and bigger ways. There are technologies out there for a Rails app that I haven’t used. (What is this indecipherable but apparently quite clean and easy to write code — once you understand it of course — called HAML?!) This was a Rails App on a scale that I hadn’t seen before and when it slowly became clear to me that there was more to creating this search bar than I had originally thought. I came to the realization that it would probably be better to submit a Work In Progress pull request with the changes I had made than to keep banging my head ineffectually on the keyboard.
The main person for this open source project would surely be able to deduce where my particular problems are arising in a fraction of the time it would take me to. They know the ins and outs of the schema and if there are things in the code base that get a little wonky, they surely know them well. I resolved to submit my WIP and hope that the small contributions I’ve made have either made it so that they can easily make this addition or that they can give me some quick insight to spare me hours of frustration and straw-grasping google searches.
I will report back when this issue is resolved.