My Heroes

The stories of those I admire.



Dave Thomas is Definitely the Sammy Sosa of Programming

There is a debate raging in the Ruby community that I don't want any part of. I'm not going to engage in any of the mud slinging and there will be no debate here. Commenters have been warned. What I do want to do is to share some simple uncontested facts about a man I am lucky enough to know.

Sammy Sosa is famous for one thing: hitting home runs. In the entire history of the game of baseball five players have managed to hit over 600 home runs and Sammy is one of them. If that wasn't amazing enough, he has hit at least one home run against every single Major League team and in 44 Major League ballparks. Baseball fans everywhere love to watch Sammy Sosa at bat.

Now if I had to name five programmers who get me as excited about programming as Sammy Sosa does about baseball, Dave Thomas would definitely make the list. Dave does exactly what Sammy always does: continually preforms the hardest tasks of his profession while making it look easy to the fans. Allow me to give a few examples.

Dave Thomas was one of the authors of the Agile Manifesto. I think we tend to forget just how significant that is. If you are a programmer who doesn't spend his day in discussions with 50 coworkers, trying to satisfy the needs of various committees, or reading endless specifications of expected behavior, the odds are good that you have been affected by this document. I, for one, am ecstatic that he helped spare me from that fate. Of course, he didn't stop there.

The Agile Manifesto gave us the theory, but we still needed to develop the practices it embodied. Many have done that for us, including Dave. He was the coauthor of a book called The Pragmatic Programmer: From Journeyman to Master. If you are a programmer who hasn't read this book, you owe it to yourself to pick it up. It gave so much great advice that it made me a better person in addition to a better programmer. I've lost count of how many times I've told someone to "Make Stone Soup" or "Fix Broken Windows." If the Agile Manifesto was a home run, this book was a grand slam.

Then there's Ruby. You can quite literally say that one man lead the western world in the charge to discover the Ruby programming language. He found the language, encouraged other programmers to try it out, cowrote the first English book about it, literally gave that book away for free, designed a documentation tool for the language, and contributed all the documentation he had created for that first book back to the source code. That was long before most of us had even heard of Ruby. These days that book is going into its third edition and that same man has coauthored a book about Ruby's most popular framework, Ruby on Rails. It should be little surprise that Dave did all of that.

Giving us Ruby wasn't enough though, Dave had to teach us how to use it too. It would be a quite a challenge to count the number of conference speeches he has given and workshops he has led. Some of those workshops even raised large amounts of money for multiple charities, just because Dave is also a nice guy. He also cofounded his own publishing company and sought out authors to write great new titles on all things programming. That publishing company has become a trend setter for all of the technical publishers, popularizing concepts like PDF-only distribution and "Beta Books."

Those are just some of the bigger things I can tell you that Dave Thomas has done for programming. I can't even begin to guess at the scope of his smaller deeds. For example, many know that I now maintain the Ruby Talk to comp.lang.ruby gateway, but take a wild guess at who built it in the first placeā€¦ Yeah, that's the guy.

Dave, all I can say is, keep knocking 'em out of the park. I'll be the fan watching from the stands, eating pistachio nuts, and cheering you on.

Comments (0)
Leave a Comment (using GitHub Flavored Markdown)

Comments on this blog are moderated. Spam is removed, formatting is fixed, and there's a zero tolerance policy on intolerance.

Ajax loader