When it comes to programming, I’m a fair hand at several languages – PHP, MySQL, javascript, several others, and a number of frameworks. I ended up teaching myself out of what amounted to necessity. 1 I learned by looking at source code, checking some books out from the library, buying several books, going through several online tutorials, and pestering a friend of mine with questions.
I’ve found there are some very interesting upsides and pitfalls to having been self-taught. These things are brought to mind by two events of today. The first is finding out that Kio Stark is coming out with a new book about how to learn anything without going to school called, “Don’t Go Back To School.” The second thing I saw today was an article on Business Insider called, “The 20 Most Innovative Startups In Tech.” (Spoiler: MakerBot made the list!) The first startup featured is “Codeacademy,” which is a website for teaching people javascript.
Being a self-taught javascript programmer, of course I had to try out Codeacademy’s website. After all, how great could it be? The answer is, “pretty great.” The lessons are very short and presented in a very interactive fashion. As you complete each little interactive component you’re rewarded with immediate feedback and a nice little green checkmark. When you reach certain milestones, you get a message saying you’ve gotten a badge for this or that. The examples are short and whimsical – with the added draw of “leveling up” as you play/learn. In any case, these lessons really work on a lot of levels. Some people learn by reading (check), some by watching (check), some by doing (check). If Codeacademy lessons had a voice reading the material to you, they’d basically be a complete drop-in replacement for a classroom.2
But, back to the upsides and pitfalls of being self-taught. I think the biggest upside is that I tended to learn a lot of programming tricks, mostly from having taken apart other peoples’ work to find out how it worked. 3 I also ended up writing a lot of tools that would automate the writing of code. I don’t know if this is common practice for others, but I found it very useful to have developed them. I also did a lot of things the hard way… like building my own AJAX engine from scratch rather than using a library like jQuery. 4 But, doing things the hard way means you really get to know the how’s and why’s of what makes something work – and what causes problems.
There are two small downsides to having taught myself programming. First, there are some things I don’t know. After trying out Codeacademy’s website tutorial I found a pretty basic function that I would have learned the first day or so of a programming class. This means sometimes I’m doing things the hard way. Secondly, I am slightly self conscious about my programming skills. Admittedly, I paid about a bajillion times less for my expertise.
Doing the math here… I spent about $50 total on about four books. Other than those books, everything else was free. I read tutorials online, looked at other people’s code, and talked to some friends. I learned enough within three months to be able to build a small side business for myself, but it wasn’t for another six months before I was doing things well. Someone taking programming classes at a college would have had to spend money on tuition and books and would have had to learn at the same pace as all the other students.5
In sum, here’s the two most important things I’ve learned about being self-taught:
- By learning on my own, I had the opportunity to learn the most interesting and relevant things first as quickly as I could assimilate them.
- Ten years after grad school and being in the work force, I’ve learned that being able to do the job is more important than having a degree or certificate that says you could.
Also, if you get a chance, help fund Kio Stark’s kickstarter page for her upcoming book “Don’t Go Back To School” which will include interviews with self-taught people and step-by-step instructions on how to learn anything.
- Read: unemployment [↩]
- Reminds me of the ↩]
- At the time I was learning, the show Heroes was very popular. I came to refer to this process of cannibalizing others’ code so I could learn how it worked as “Sylar-ing”. It would make more sense if you’ve seen the show. [↩]
- Now I don’t know how I’d get along without jQuery! [↩]
- Since I am a college graduate, I did spend money on tuition, books, and pizza – but for degrees completely unrelated to computers, programming, and technology. So, by teaching myself how to program it was like getting a third degree for $50. That’s got to be worth at least $10,000. [↩]
Pingback: You Can’t Please Everyone (but, maybe – just maybe you could please Scott Berkun) | MakerBlock