3 minute read


gem install swim

Recently I had a flashback to a memory from when I was 7.

I was attending a summer camp with a nice big pool that everyone loved. The problem for me was that the shallow end was 3 feet deep and I was a short 3’2” who did not know how to swim. So on most days I would spend swimming time hanging on to the wall of the shallow end for dear life together with another friend who couldn’t swim, daring each other to let go of the wall for split seconds at a time.

Then one day it happened. I was walking along the side of the pool when a counselor, who apparently didn’t know I couldn’t swim, picked me up and playfully threw me into the water. You’d think he’d stay behind to make sure everything was OK, but I guess he just assumed I would be ok because he just walked off.

Thankfully I was only about a foot or 2 away from the wall. I had no clue what to do, I just started thrashing about for all my young life was worth. After about an hour of thrashing (ok, probably not more than a minute, but it sure felt like an hour), I finally got within arms distance of the wall. I pulled myself in and allowed myself to breath.

Looking back, that was probably one of the scariest moments in my life up to that point, but it was also the moment that taught me that I could learn how to swim if I wanted to.

I still clung to the wall for dear life, but I started letting go for seconds at a time instead of split seconds; eventually even kicking off the wall so I can “swim” back.

Why did this memory just surface from the dustbin it’s been banished to for the past 20+ years? Because I just had that same feeling again, only this time from the comfort of my swiveling office chair.

For the past 2 months or so I’ve been learning how to code, and for the most part it’s been smooth sailing. Sure there were hard parts, there were definitely moments where I wanted to smash the keyboard and forget the whole thing, but overall lessons progressed smoothly. Every lesson followed the previous one in slow measured steps, I was feeling challenged and enjoying every minute.

Then came the final project, the Reading part of the project was pretty simple; we just want you to build a gem on your own now, no help from us, we won’t set up an environment, we won’t write tests, you do it all. I read that and I was like “Whaaaaa?!?!?” I was used to following instructions, tell me what to do and I’ll figure out how to do it, but here they wanted me to figure out what to do as well. I felt clueless and lost, almost like that 7 year old me in the pool.

And then magic happened, just like 7 year old me, I realized that if I didn’t start thrashing I may as well give up now. So I started reading, following endless rabbit-holes of links, watching YouTube lectures (shout out to Avi, one of the best teachers I encountered in my life), and before I knew it (easy to say, actually more like a week and a half later), I had a sort-of-working gem.

I wouldn’t say I know how to swim now, but I’m definitely confident enough that I could thrash my way through this.

I guess by now you might be wondering what kind of gem I made, but for now I think this post went a bit too long, I need to go teach my 7 year-old son how to swim…


Originally published at yechiel.me on June 26, 2016.

Updated:

Comments