“I want to learn to code. Can you help me?”

I’ve been answering this question a lot these days.

Possibly because whenever someone technical asks me to help them with their web-based startup, I send them this blog post http://www.humbledmba.com/please-please-please-stop-asking-how-to-find on how to find a technical cofounder. (This is an improvement on the alternative, which is to offer to try to help and then straining the relationship because I am to busy working on projects that already demand my full working attention.) Then they ask me to teach them how to program.

Most of the people I meet trying to get into the web space want to learn “Ruby on Rails.” Before that’s possible, you’ll need to know the shell, HTML, CSS, Javascript, and Ruby.

Here’s a list of topics with books and resources (complete with Amazon affiliate links where appropriate) that I recommend to anyone who wants to learn to code for the purpose of building websites:

  • The shell/ terminal/ command line. To be a power user on your machine, you’ll need to get used to operating your computer via the command line. If you’re using windows, now’s a great time to learn to use virtual box (easiest) or cygwin. Great resources for learning the command line include:
  • http://linuxcommand.org/ – a great, free site to learn to use the command line. It’s great for mac as well as linux users.
  • From Bash to Z Shell: Conquering the Command Line – an excellent book on using the command line. At least do the Bash portion of this book. Even if you find the topic dull and you need to drink three cups of coffee to go through the book, please do it. It will make the rest of your entire life using a computer that much easier. You will thank me later.
  • HTML/CSS. This isn’t real programming. However, just knowing HTML/CSS is enough to make a basic webpage and start getting a feel for debugging syntax. That said, I recommend you learn HTML/ CSS before you learn a real programming language because doing so will teach you a lot about how to work with a text editor and how a web page is defined.
    • Head First HTML with CSS & XHTML – There are actually a lot of different resources, but this is the only book on HTML that I’ve recommended to anyone that anyone (to my knowledge) has actually finished.
  • Javascript – Specifically jQuery. JavaScript is a real programming language. jQuery is a framework on top of JavaScript that allows non-programmers to copy/paste existing code and end up with some pretty amazing output.
  • Ruby – Ruby is another programming language. You’ll need to know it (along with everything else I listed) before you can effectively use the Rails framework.
  • I imagine it would take an average person about five weeks to go through all those books if they were motivated, had a good grasp of the English language, and treated learning to code like a full time job.

    That said, I think if someone were to go through those books, they would know enough to get an entry level developer job at a web development shop, or enough to make a basic prototype of a web application, or at least enough to have an intelligent conversation with a potential technical cofounder.

    Comments are closed.