Back in 2006, I snuck out of my finance job and stood at a Midtown Manhattan Barnes and Noble wearing a full suit staring blankly at the “Computer Books” section.
Unlike previous misguided adventures to the “Computer Books” section, I had done some research and knew that I was supposed to get the book about a “lamp”. I grabbed the closest one I could find “Apache+MySQL+PHP” (the “amp” part of “lamp”) and flipped through the first few pages. I excitedly rushed back to work. I was leaving my finance job in a year to build a tech company and I was going to learn to code.
I didn’t learn to code. I spent nights and weekends trying to teach myself. I took my programming books with me on vacation. But, despite going through all the exercises and writing a “to-do” list app and a “blog” app, I never really learned.
A year and half later (now summer of 2007), I did leave my finance job to start a tech company. But, instead of building it myself, we hired an outsourcer to build a prototype of our first big idea. We could focus on user acquisition and business development, the outsourcer would take care of the coding till we could recruit a CTO.
Nine months later, everything had gone wrong. It was clear the outsourcer wasn’t working out and, despite everything we tried, we couldn’t convince someone to join us as our CTO.
Our tech startup wasn’t going to happen unless I actually learned how to code.
So, in the beginning of 2008, I again found myself at the “Computer Books” section of that same Midtown Manhattan Barnes and Noble. I grabbed the “Learning Python” book and walked straight home.
This time, I wasn’t excited; I was terrified.
If I didn’t learn to code, we were done. I would have to crawl back into the world of finance. I’d have to tell all my friends and family that I had given up, that I had completely failed.
Three months later, not only did I finish the book, but I had re-built the prototype that our outsourcers had spent 6 months building. I was hosting it on a server I set up and we were pushing new features and iterations in hours instead of weeks. I had learned to code.
I wasn’t ready to become a Google engineer but I could build any prototype we wanted. A few years later, we launched Yipit and we’re now a 25-person, venture-backed startup on the verge of profitability. It changed my life.
Why was this attempt to learn to code different from all the others?
Why did I learn to code? It’s simple. I had no other option.
I found that there are two types of people that power through the frustration:
- Those that are really intellectually interested in learning to code. If you haven’t learned to code by now, it’s highly unlikely you’re one of them.
- Those that learn to code as means to an end. They don’t learn to code because it’s fun or because it’s interesting. They learn to code because they need to. They might enjoy it, almost everyone does. But, it’s different for them. They are learning to code because either their job requires it or because there’s something they need built and no one will build it for them.
So, if you’re looking to learn to code, don’t just buy a book or sign-up for a coding course.
If you really want to learn to code, you should do two things:
- Think of a project that you really want built and learn enough to build that project.
- Put yourself in a position where you have no other option other than to make sure that project gets built.