How Did You Learn to Program?

How did you learn to program? Especially if you’re not a professional developer and never had been (I already have the data that says that something like 70% of professional developers got degrees in computer science or engineering). I’m wondering how you learned to program if you aren’t a pro.

What programming language did you start with? C? BASIC? VB? C#? PHP? HTML? What was your next language?

This is a question that’s occupying a large amount of my time these days. Why? Because, as in any resource-constrained environment, I need to focus on doing things in order – preferably in the order of “biggest thing” to “smallest thing.” In this case, I’m confronted with a host of solutions to how people learn:

  • Books (and if through a book, what kind of book – intro book like this) or a book like K-R C?)
  • Online videos (like this)
  • Online “lab” (like this)
  • Online tutorial (like TryRuby)
  • Classroom

And if you use one of these, what did you find most useful? What was fun? What was boring? What got you sucked in in the first place?

Fundamentally, I’m asking where my team should invest its efforts in getting future developers from 0-10 MPH.