Wandering Through Unknown Territory

Spenser Leighton
Aug 31, 2018 · 5 min read

Hello world,

I’m writing you today to tell you about a recent experience I had while contributing to an open source project on the world wide web. Contributing to an open source project is no joke. Things can go smoothly, but maybe they wont. Maybe you’ll follow the readme, maybe you won’t — the choice is yours and yours alone.

I’m currently a student at Turing school of software and design in the fourth, and final, module. One of our assignments was to, as a group, find and contribute to an open source project on Github. The site my group and I were assigned was the Denver Start Up Week website. The website was pretty great and all, but there was an input field in the website’s registration form that the owner of the repo thought could benefit from a dropdown menu.

With the task at hand, my group and I set out to find and destroy that pesky little input field — little did we know about the dangers we were about to face. As Javascript developers, we were not entirely prepared for the journey we were about to embark on but that didn’t startle us one bit. Through a forest of Rubies and Gems, we navigated and installed our dependencies; “Your Ruby version is too new,” we heard in the distance. “Bundle those Gems,” a spooky voice called out to us. One by one we uninstalled and updated with great difficulty until finally we had arrived.

Upon first glance, the problem looked quite simple. We sifted through layers and layers of code, recognizing patterns and pinpointing common occurrences until we located the input field’s unique identifier. We stopped at nothing. Once we had found the field, we harnessed the powers provided to us by our collected Rubies and Gems to completely transform that weak old input field into a powerful new dropdown menu.

After many minutes of trial and error, all while searching and looking at each other with unsure eyes, our mission appeared to be coming to a close. We had found the input. Once we had located the input, we decided to cut in. Key stroke by key stroke, one letter at a time, we pressed on through a maze of unfamiliar Slim and Spec files, following only the blueprints left behind by previous explorers to model our precious dropdown menu. On completion of the menu, it was time to run the tests, and run the tests we did.

Watching in complete awe as our computing devices opened up an ran Firefox 46, we quickly noticed a few things and made a few bad judgement calls. One thing we noticed was a couple dozen failing tests appearing to be completely unrelated to the absolute masterpiece that was our three lines of code. I mean come on, how could our contribution possibly screw things up this badly? The answer is that it couldn’t. To make sure, we spun up servers on our local machines and tested the site manually. There it was, our beautiful drop down menu in the wild. Everything seemed to be working just fine. This must mean that it was time to submit a pull request.

As we arrived at the gates of GitHub we quickly realized that what had looked so small from afar was in reality, a wall towering over us, completely blocking the sun, leaving us alone to fend for ourselves in the dark. “Squash the commits,” they said. “Rebase that shit,” we were told. One by one we took turns swinging at the pull requests, missing attempt after attempt after attempt (three times), until we finally came to the conclusion that we might be lost. Maybe it was time to pull in somewhere and ask directions.

Looking to our local Slack channel for guidance we noticed an older, and much wiser, wizard with substantially higher XP was lurking in the woods not far from where we were. We were able to locate him quite quickly and request his assistance. With his guidance and general knowledge of the woods, we were sure to be unstoppable. We were quickly back on track and headed toward the finish line in no time. The pull request was in; now it was time to patiently await the gatekeepers wave of approval.

Moments later we were greeted by the gatekeeper with a message utter disappointment. We had really done it this time. We had missed a step in setting up our mission and had somehow read the map completely wrong. All of the tests that had appeared to be failing from pre-existing conditions were in fact directly related to the code we had submitted for approval. Something we had been so sure of had now crumbled in front of us leaving nothing but a pile of Ruby dust. The gatekeeper was very kind in her delivery of this message and granted us the chance to make things right, a single shot at redemption.

With the generous help of our leaders, we were able to patch up our decencies fairly quickly and were once again back on our way to balancing out the internet once and for all. We had finally solved the gatekeeper’s riddles, granting our code the right to run free in the wild.

As the gatekeeper merged our pull request, we reflected upon the path traveled. One thing was for sure. The three of us would never miss a beat in the Readme, nor would we ever submit a pull request with broken code again. We had learned a lot on this journey, and I for one am very thankful for the experience.

So there you have it: thats the story of how three juniors traversed a forest unknown and came out on top. It’s a success story I must tell you. The Denver Startup Week website will never be the same.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade