New Ruby Programming Course
I was recently asked to teach an introductory Ruby programming course for a team in the Boulder, CO area. No Rails, just straight-up Ruby! And what a treat it is being able to put the focus on Ruby these days.
Now in this case, the team doesn't intend to build a Rails app. They're building a Ruby application. But in general I wish more teams appreciated the value of really understanding Ruby before hunkering down into a Rails project. It's a hard sell. Everyone wants to dive right in and get something running in the browser. And there's certainly nothing wrong with that: motivation is a key part of learning. If before you could run anything in the browser you first had to understand all the Ruby code that made it possible, you'd give up. But at some point you do need to understand what's going on. It starts by understanding why the code you type in actually works, and being able to debug it when it doesn't work. Unfortunately, in the exhilaration of building web apps fast, I see too many teams programming by coincidence well into the project. And at some unfortunate time their productivity usually hits the wall.
Becoming fluent in Ruby gives you that second (and even third) gear. It means you can program deliberately—actually understanding why your code works and how to quickly fix it when the unexpected happens. It means you can write less code because you know how to organize, share, and refactor code efficiently. It means the exhilaration is sustainable because you're always confident in what you're doing.
Anyway, I took this as an opportunity to create a new hands-on Ruby course. It's been a while since I've taught Ruby outside the context of Rails, and I wanted to avoid one of the perils of teaching a programming language course. Namely, it's all too easy to build the course around the language and fall into the trap of focusing on the nuances of the syntax. We've all sat through these types of courses at one time or another in our career, and it makes for an utterly boring experience for everyone. Remember, motivation is key. And most folks want to learn a new programming language for one reason: To create something useful! So I started with the goal being to create a realistic (yet fun) application, and built the course around progressive steps to make it come to life.
I'm really happy with the way it all came together. Naturally, it was a bigger project than I anticipated. All told, it took a solid week to develop this 2-3 day course: the overall narrative and material, staged versions of the application, example code, and a detailed workbook of exercises. That investment may seem hard to justify for just one class, even if I did have a blast doing it. But I'm hoping I can convince more teams to spend a couple days with me learning Ruby. It'll be fun and I promise you'll come away feeling more confident with the language, whether you're building Ruby or Rails apps. (Oh, and I teach private Rails courses, too.)
If you're in the Denver/Boulder area, it's convenient to schedule a class because I live here most of the year. I'll also be traveling to Montana on and off this summer/fall and would love to do some teaching while I'm there. I'm happy to travel just about anywhere to teach, preferably to vacation destinations!
To get more details and schedule a course, check out the Ruby Programming Studio over at The Pragmatic Studio. Thanks!