Last week I wrote a post entitled "When does learning stop being so hard?" where I argued that the process of learning, for learning to code and learning to play music, becomes incrementally easier as you are increasingly able to create things you yourself appreciate. I got a lot of feedback, but one common theme stuck out to me: people who said that coding was something they loved from day 1. This was a separate point from what I was trying to say, but an important one: if learning becomes easier only after painstaking work on the basics, how do you decide what you should learn? And then the answer hit me: my dog Tater.
Growing up, I wanted a dog more than anything. I grew up in the middle of the city of Richmond, Virginia, but I went to a suburban private school and none of my friends from school lived in my neighborhood. I was lonely a lot of the time, and I thought a dog would solve that. Just hearing the phrase "a boy and his dog" still gets me like the first 5 minutes of "Up". However, my mother (smartly) assumed if we had a dog the responsibility for taking care of it would fall all on her, and she didn't think she wanted a dog. So as a kid, I never had one.
Then, in October of last year during the darkest time of my entire life, my friend Andy posted this picture on Facebook
The dog on the left had just had babies, been kicked out of her house in Brooklyn, NY, and was on the streets for three days before Andy took her in. She needed a home. With everything I was going through, I felt like I needed this dog and she needed me: I was headed to Brooklyn.
When I imagined having a dog, I usually imagined running with it on the trails by my house or playing with a ball in the park. The reality was this: a 45 pound abused, scared, and TOTALLY untrained mom/puppy Pit Bull thrown into a new environment with no warning. This was going to take a LOT of learning, on both our parts. It took my three weeks to house train her (thought it was done in 2, but it turns she was just pooping my in my roommates bed for a week), more than a month to get the basics of walking on a leash, and 3 months before I could teach her to lie down on command and not to jump on people. This wasn't what I imagined.
But I never, not for one second, considered quitting on Tater. In fact, it's only now that I look back on it from afar that I even realize that quitting was an option. Why? Because the first time I met Tater, she jumped up on me, knocked me over, licked my face (a lot), and I was in love. Head over heels. I love that dog so much it makes me happy just thinking about her. In my darkest hour she saved me and in hers I saved her. There's nothing better than that.
And I know this sounds ridiculous, but that's how I felt the first time I saw code being put into practice. It was the day before the launch of my startup thecityswig.com (yes, I didn't see the code under the day before launch, I was young and stupid) and we were having a problem: sorting for bar specials based on the time of the special wasn't working. It HAD been working, but now it was broken. After an hour, nobody could find the bug, so they brought me over for a new set of eyes. They explained everything to me: this is the function, these are the variables, here's where we call it, here's it in action, here's where it's breaking. I asked some questions and determined: there was a spelling error. There HAD to be. I find you find things in places you've already looked (like your keys, or code errors) only when you become absolutely sure that's where they are. And to my delight: I was right!
And it. Was. AWESOME! HOLY SHIT THIS IS MAGIC! I love this so much I want to do it all day everyday!
And that's the only way you can be sure of what you should learn: love at first sight. There will also be things you will COME to love, but the things you love from day 1: do them. Do them until you become great, especially when becoming great is hard.
Follow me on Twitter
or [comment on HN]http://news.ycombinator.com/item?id=4733044) to tell me how adorable Tater is