Pry baby

There was a recent viral meme tweet that hit home in regards to my learning to code journey.

failure meme It me!

However recognizing this, this fear of failing to do something perfectly, is not something that was easy to identify in myself.

In fact, if you asked me, I’d say I’m pretty comfortable with failure. That I totally understand that in order to succeed, there will be failures along the way. I’d tell you about how I’ve failed publicly and been transparent about it. Like the time I attempted #100DaysofCode and only got to day 70…three times.

Day 70

I’ve excelled at everything I’ve tried academically. That sentence feels wild and annoying to say but it’s real. I was in advanced and AP classes in high school, I pursued Psychology with an emphasis in Economics in college and tested out of requirements for other courses. My challenges in college were mainly due to attending a PWI in small-town-racist-Pennsylvania and trying to survive that rather than anything academically strenuous. I wasn’t even especially disciplined, just an avid reader with never-ending curiosity. And it was these experiences that have given me this faux comfortability with failure.

The Myth

Learning to code is one of the most challenging things I’ve ever done. It’s also the first thing I’ve tried (that I’ve dedicated time, effort and resources to) that I haven’t excelled at quickly. Somehow no matter how many Medium posts I read that explained how what I was feeling was normal, I managed to internalize that maybe coding was in fact something I could not do. It’s made me cry, it’s made me angry. I was feeling:

Why has this been so hard for me to grasp? What can I do to set myself up for learning success? How do I stay motivated through the rough patches?

Coding confidence vs competence chart Whew chile, the despair!

The Solution

Pry is a ruby gem that is a type of REPL. REPL stands for read, evaluate, print, loop, and is an incredibly helpful program for debugging. I was already familiar with IRB, the interactive REPL that comes with Ruby, but apparently Pry had even more functionality. I’ve admittedly been avoiding pry since learning about it.

I understood that putting require pry at the top of a file and placing a binding.pry somewhere within a method did something but I didn’t understand what to look for once in pry.

Recently a ruby problem caused me a lot of grief and the desert of despair and I became good friends. I tried everything and it felt like no matter what I did the tests remained failing.

I realized this type of coding could not go on. Just running tests, crossing my fingers, hoping for passing; and when it failed, not knowing which direction to head in.

I was going to have to learn pry and understand it to be able to troubleshoot this problem. Ugh, right? 😭 I’m sometimes in such a rush when coding that I have to remind myself, there is no race, no deadline, and nothing is urgent. Going back to learn something I should have dedicated time to learn earlier made me even more frustrated with myself. It felt like I was trying to go to the gym and work out all day, instead of going for 30 mins a day, 5 days a week, and expecting the same results. It didn’t make sense. Cramming just wasn’t going to work.

This avoidant behavior; that was a choice I was making. A bad one obviously. And it was kind of how I was approaching learning to code. I’ve never really had to do a thing I was bad at, and I’ve also never tried to keep doing a thing I felt I might be bad at. But here was coding saying “Not on my watch!”

Things I was doing a.k.a. a list of don’ts

Just because I poke fun at myself by tweeting about, for example, struggling with Javascript, doesn’t mean I don’t fear failure. In fact, I’m so not OK with failure that I’ve also been avoiding the successes. Being deliberate, disciplined and dedicated with my learning needed to be my new M.O.

This process is not linear and it’s certainly not easy. Some things that have helped me are:

Shout out to pry and that Ruby problem being the reality check I needed to prioritize my learning and personal growth.