“OOF is typically used as an interjection, to express pain, surprise or discomfort.”— cyberdefinitions.com

As someone who has recently hit their quarter life milestone, I’ve oof-ed more times than I’d like to admit. So much so that I’ve somewhat come to enjoy a good oof. With each oof, came a struggle, challenge, or scenario that forced me out of my comfort zone. These experiences gave me the opportunity to become better. Recently, this has been especially true when I decided to make a career change and learn to code. So in honor of all my previous oofs and the many more I hope to have, I’d like to talk about a lab that caused me many an oof.

I experienced a few minor oofs while completing Flatiron’s software engineering bootcamp pre-work, but Hashketball was different. I knew it was gonna be a challenge because completing it was required in order to attend the bootcamp. The labs leading up to it actually made me believe that coding was actually going to be easy to learn. The labs did get harder and harder but for the most part they were all doable until I got to hashketball.

“To Recap - your task is to use Ruby to help you perform analysis on an NBA game. Process the nested data structure to produce insights about how various players performed.” — Hashketball’s read me.

I remember setting up hashketball’s NDS and thinking, “This is gonna be easy, I’m basically halfway done! I only have to complete 8 methods it can’t be as hard as everyone makes it sound!”, boy was I wrong. For almost 3 days I would have dreams that I was trapped in my pry session and the only way out was to complete this lab. I’d then wake up and work on it for long periods of time, making what felt like little to no progress. When I finally completed it my 8 methods stretched across over 100+ lines, with all of my methods being 10 or more lines long.

The oof only intensified from there. I honestly felt a little discouraged about my ability to pursue a career in coding. I wasn’t really sure if I would be able to successfully complete 15 weeks of a coding bootcamp if this one lab, figuratively, gave me the two piece special. But despite all my doubt I decided to follow through with it.

My first day eventually came, and to my surprise I actually enjoyed it more than I thought I would. As every day passed, I oofed a little and improved a little more. Sometimes it felt like I oofed more than I actually improved, but I enjoyed everyday regardless. Before I knew it, I was studying for my first coding challenge about object orientation and many-to-many relationships. When I passed my coding challenge I was psyched about how much I was able to complete within the allotted time.

Fast forward to today I’ve completed 6 out of the 15 weeks in this program. I’ve programmed a CLI app with vanilla ruby and just recently programmed my first rails app. I’m definitely a lot more confident in my ability to learn coding than I was back then. So I decided to revisit Hashketball and do a little growth check.

I’ve gotten used to trying to keep my code DRY, utilizing helper methods and attempting to keep my methods under 5 lines of code. All the usual syntax sugar rules that used to occupy my a sticky note on my desk. So revisiting my first attempt at hashketball felt very odd.

This time around Hashketball’s NDS structure still tripped me up a little at the beginning, but nonetheless I was able to complete it within a decent amount of time. After cleaning up my code, what I had was nothing like my original answers. What once took me excessive amounts of trial and error to complete felt like a good stretch before a workout.

It’s moments like these that keep me going. Knowing that I have the ability to continue to improve, no matter how hard something is at first. With enough practice I can one day overcome that challenge. For that reason I’ve come to appreciate all the oofs, no matter how big or small, even when it causes me to internally freak out. When I’m finally able to clear my head I can fondly reminisce on those oofs.

On that note I’d like to leave you with a quote near and dear to my hear from one of my all time favorite philosophers. In hopes that you too enjoy your oofs.

“To live is to oof, to survive is to find some meaning in the oofs.” — Friedrich Nietche

Software Engineer