Getting unstuck

by Security Dude

Stuck in the mud

I’ve been a pretty frustrated all week because I’m caught between learning a bunch of new tools and falling back on my bad habits.  Fear has also been a big influence. I don’t want to be a bother to anyone around me, so I find it difficult to ask for help when “I’m spinning in my own mud.”

I have been wanting to pair with someone to keep from being stuck in the mud. I’d like to think that 2 heads are better than one.  But I have been scared to pair with anyone for the fear of looking stupid or dumb. It’s clear that this is something I have to overcome because it’s only going to keep me in my comfort zone. Note to self: Just do it.

Jumping in both feet first 

So this is what happened. I asked for help and a mentor joined me and he started to share information that I needed to get unstuck. Then my mentor asked me to pair.  Gasp! My initial reaction was to run, hide, and code by myself. Who wants to pair with a very strong programmer? Then with one big breath, I responded “sure”.

Nervous as hell, I jumped on the keyboard and pushed myself outside of my comfort zone. To me, pairing was akin to being handed this huge dangerous gun filled with unlimited ammo.  I kept telling myself, “take driver’s seat, take the driver’s seat but don’t kill anyone”. I was scared that I was going to hurt someone.

So here I am with my metaphorical “machine gun”, pointing it in all directions with my finger on the trigger like an unsafe n00b. I couldn’t have imagined that a quick question to a mentor would have turned into a 90 minute pairing session.

Our mission was to tackle an ugly program full of loops and splits. We covered creating functions, using libraries, naming conventions, programming style and proper guidelines to pairing.  Sitting in front of a keyboard in front of a programming idol is intimidating. At first I was dead set against it. Hey, who wants to look stupid in front of their idol? But I’m at Hacker School and it’s a safe environment, right? Better than just a safe learning environment.

My fear disappeared with each press of the keyboard. As my navigator thoughtfully provided guidance in small chunks, my fear disappeared.  Next thing you know, I was using MacVIM with confidence, and switching windows to run my programs.

I thought to myself, that’s a good productive day, but my pairing partner had more in mind.  We installed a package for VIM called pathogen. We installed a plugin for VIM called superTab. More tools to make me more productive. My pairing partner decided it was time to add “import pdb” to my quiver.  We were stepping into functions, setting breakpoints and listing lines of code. It might seem trivial to others who have learned it, but for me I was just happy getting unstuck and banging away at a keyboard. Hang on because that’s not all.

Shuffling like a boss

My pair partner took the “driver’s seat” and the screen kept flickering, like the Matrix. It looked like the code was alive and self forming. Like clustering into their positions.  Within minutes my pair partner was working his code-fu and the program was done.  Some more git-fu and the code was sync’d to github. To me it was all magic unicorn rainbow stuff. Awesome.

Suffice to say, I’d be content coding by myself all day and working on trivial snippets of code. Instead, we refactored some ugly code and rewrote a pretty cool program that scans your OSX wifi, parses it in XML, and opens Google Maps to visualize geolocation data.

Overall, I surprised myself by doing what scared me the most. Winning!