Learn to Code and BUILD SOMETHING
A few weeks ago, I gave a talk at Larry Lenihan and Jason Finger’s “Ready, Fire, Aim” — an entrepreneurship class at NYU. It was my third time speaking there, and it is actually helpful for me in reflecting on my learnings and growth. Each year I’ve said that — like the class’s name suggests — if you want to get involved in the tech startup community, you should just build something and/or go after it. This year, I was able to synthesize my suggestions in 3 bullet points:
- Learn to code
- Just do it — build something
- Network [not covered here]
The first point should be obvious by now — you need to learn about tech, especially the tech that goes into the company or industry you are interested in. Even if you have solid footing, it’s always helpful to become increasingly technical and learn about new tools. A CEO doesn’t need to commit code daily, but everyone should understand the tech the company uses [especially for the CEO].
A lot of non-engineers, myself definitely included, rationalize that they don’t need to learn to code for a multitude of bad reasons: not going to be coding, too hard, don’t have the mind for it, too busy, etc. If your excuse (which is what it is) is not listed, it is probably equally refutable. Anyone can learn to code, it’s not that hard, and the key is to go step by step. Facebook and Google weren’t built in one frenzied coding session. The initial hurdle is the hardest conceptually, but is the easiest practically, so let’s go already.
As a starting point, I strongly recommend you pick up a book on HTML and CSS. Read through it quickly, follow some examples, and by the end of the book [which will probably take you a week to read], you’ll make webpages. You will be surprised at how easy [in terms of time and effort] and fun it is.
Now that you can make basic webpages in HTML and CSS, there are so many tools that get you to an intermediate level. Codecademy is a perfect example, so too is the curriculum at General Assembly. I’d suggest learning Ruby on Rails or Node.js, but PHP and Python are solid too. It’s important to reiterate that as you dive deeper you focus on the next step of learning and not learning everything at one time. This part takes maybe a month or two.
You don’t need to know everything and you don’t even need to remember everything. If you run into a bug Google the error and you’ll probably find the solution on Stack Exchange [a LOT of engineers do this]. No one can write perfect code all the time from day one: you run into bugs and questions, fix them, and move past them. One student said he wanted to build a photo gallery but didn’t start because he didn’t know how to do photo uploading. What you are trying to build or figure out has (more than likely) already been built or solved. Coincidentally, a photo uploader is the project in the Node tutorial.
OK, so now that you have a grip on the basics of code, I think the best way to improve, reinforce, and actualize your learning is to build something. If you are reading this, you probably have an idea or five for either your own site or improvements to others that you can realistically build with your newfound tools. Go ahead and build something. The hardest part is getting started.
I have been preaching this for a while, and I realized I haven’t tried to code something from scratch in quite some time. The Elevator Game was one example, but I embarked on a (slightly) more complicated project that integrated Facebook Connect and a few other components that I hadn’t used before to expand my knowledge-base and reinforce my familiarity therewith.
The creation was Get Neighbors. I initially started playing Zynga games to learn about how they are so masterful at user experience design - particularly the on-boarding process. Unfortunately, I, too, became hooked on Zynga games as a result. In most of their games, you either need lots of friends to play the game or pay. Instead of forcing people to spam their friends, I thought there should be a service to link up people who already play the game — that’s what GetNeighbors.com is. Some say it is again fb TOS - dislike — I disagree. It was a lot of fun building it and it’s a useful tool. Even though I’m not going to market it , it’s very cool to see just your first user sign up for something you’ve built entirely from scratch.
If you’re using Rails, go to Heroku, go through their support docs, make sure you have everything installed, launch an instance and you’re ready. Practically, the hardest part really is getting started for me — getting all this stuff together is kind of annoying but, like coding, just power through - Google the errors, fix the bugs, and move past them. Create a product spec with features, map out the UX and UI and imagine the end user experience. Then go ahead and build!