Following the advice of Vin Vacanti, Yipit co-founder, I began to teach myself to code.
While I eventually learned enough to build my own prototypes, it was a rocky road. If you’re on the same path, I hope you can avoid my mistakes.
I had no clue where to even begin. There’s just so much out there, so many buzz words and so many competing viewpoints that it was hard to get a sense of what was important. After trolling Hacker News, Quora, and StackOverflow and randomly pulling terms from the most popular articles, I came up with this crazy, hodgepodge list:
HTML, CSS, AJAX, PHP, Javascript, Heroku, Celery, SQL, jQuery, Django, POSTGRES, nodeJS, BackboneJS, Ruby, Rails, MongoDB, Python
I didn’t know which components I needed and which ones I didn’t, so I just tried to learn all of them.
Ultimately, I figured out what everything in the list actually did and reduced it to:
- HTML: structures a page’s content (e.g., this is a link; that is a title).
- CSS: styles the content (e.g., makes a link turn bold when you hover over it).
- Javascript: makes the content dynamic (e.g., launches a popup when you click a link).
- jQuery: a Javascript library with easy-to-use plugins (e.g., a picture slideshow).
- Python: processes the data (e.g., pulls users’ purchase histories from a database and recommends products they might like).
- Django: a web framework written in Python that connects all the above pieces and provides a lot of built-in, necessary functionality (e.g., a readymade login system and an easy way to access any kind of database using just Python). Use a framework. It makes your life easy!
I spent too much time reading coding books. I had no assurance that what I was reading would actually be useful for my project. Worst of all, because I wasn’t applying what I was reading, nothing even stuck with me.
I later discovered an incredibly effective way to learn enough to build a working prototype:
- Actively take some tutorials and code the examples. David Sinsky, a fellow Yipit developer, has someamazing suggestions.
- Pick an easy project and code it. Try creating a simple blog or a basic polling app.
- Repeat #2 a few times.
- Build your startup prototype.
There are so many benefits to jumping right in. You’ll quickly get over any fear you may have of programming. You’ll start seeing the fruits of your labor right away. Most importantly, you’ll rapidly develop the skills you need to build your product.