In the spring I sat in on a class at Stanford – “Startup” taught by Peter Theil. I definitely learned a ton, but it wasn’t until I noticed I achieving perfect attendance that I thought I might enjoy taking other classes from time to time just for fun.
A couple weeks ago my latest class began – “Software Engineering for SaaS” (software as a service) offered by Coursera. It is adapted from a UC Berkeley computer science course for seniors. Why am I interested in this? Because it teaches a modern technology stack – Ruby on Rails – that is widely used and incredibly useful. If I were to start a new web application project a month ago, I would have struggled and wasted a lot of time getting started despite all my programming experience.
Why is that? Web programming isn’t exactly covered for most students in the computer science program. Rather, they take the fundamentals they learn and apply them to making websites. Sometimes this can be the same programming language, but often times it is not. I simply haven’t put in enough hours to be very comfortable in this area.
The hours that I have put in are in ancient technologies – PHP (used to power WordPress, and thus my websites) and ASP.NET (used by my old company because they had to use the Windows technology stack for conservative law firms that don’t want anything to do with open sources software (they’d have no one to yell at if something goes wrong!)). The SaaS class covers (or forces me to get experience on my own): Ruby on Rails, GitHub, HAML, EC2, Heroku, RESTful APIs, MVC, Agile, Cucumber, Capybara, and more buzzwords I’m forgetting.
I’m glad I’m getting a formal introduction to these because I believe it will lead to a better education than learning on my own. More importantly, I’m glad that I’m learning now before I have a project I’m trying to push out and cutting corners to get there.
Udacity is the other online advanced learning site making waves. Where Coursera adapts existing university courses for online, Udacity creates new courses from the ground up for online content. People aparently like this better. I think this chunking of content into smaller online bites, gamifying, interaction to keep your attention, whatever, only has potential to dumb the course down. What’s wrong with long-form classes? Not everything has to be a tweet, and for difficult concepts, I think long-form has an advantage.