Home > Articles > Programming > Ruby

Becoming a Software Developer, Part 1: Ruby for the Nuby

  • Print
  • + Share This
When first learning how to write software, immediacy wins every time. Beginners are helped by the immediate feedback that comes from interpreted languages. Many developers first learned to program using interpreted BASIC on a home computer. In the age of objects and the Internet, Ruby can fulfill the same role for a whole new generation of developers.
Pete McBreen is the author of Software Craftsmanship: The New Imperative (Addison-Wesley, 2001, ISBN 0-201-73386-2). Software Craftsmanship is the winner of the Productivity Award for Software Development magazine's 12th Annual Jolt Awards (see http://www.sdmagazine.com/jolts/).
Like this article? We recommend


Since I wrote Software Craftsmanship: The New Imperative, many people have asked me how can they learn how to be a software developer. I'm very dubious about the effectiveness of "sheep dip" courses, and it's hard to find an appropriate introductory book that explains how to become a software developer. Overall, I still think that Ted Nelson had the best idea when he wrote this in Computer Lib/Dream Machines (Aperture, 1974):

The best way to start programming is to have a terminal running an interactive language, and a friend sitting nearby who already knows the language, and has something else to do but can be interrupted with questions. And you just try stuff. Till more and more you get the feel of it. And you find yourself writing programs that work.

Having someone right there with you who can instantly answer your questions makes learning much, much easier. Indeed, I'm often tempted to speculate that the "terminal rooms" of the 1970s and early 1980s made it much easier for developers of that era to learn from each other, compared to the modern practice of isolating each developer in his or her own cubicle.

For most people, it's difficult to create Ted Nelson's kind of learning environment. Luckily, however, it is possible to create a much better technical environment than Nelson had. We can use the power of modern scripting languages to create a much better interpretive environment, and while it might be hard to find an experienced friend to sit with, learning alongside another beginner can help ease the frustrations that come with writing software.

  • + Share This
  • 🔖 Save To Your Account