blah_blah_blog 2.0

Adam Adair's lousy blog and other assorted blather

Pragmatic Rubber Ducks

In the early 2000’s, back when I still considered myself a young programmer, IBM laid off a large number of engineers in my town and my company scooped up a bunch of those guys. They needed jobs and we needed programmers. A few ex-IBMers ended up in the area where I worked, and I noticed that most if not all of them kept little yellow rubber ducks in their cubicles. I just figured this was some weird IBM thing, but I was curious so I asked one of them what the deal was. It was explained to me that the duck helped them with debugging code. It was called Rubber Ducking and by explaining the problem to the duck it helped you figured out the problem. That sounded stupid to me, and I was pretty sure some kind of joke was being had at my expense.

I recently completed reading the book “The Pragmatic Programmer: Your Journey to Mastery” and now it all makes sense. Displaying a rubber duck is like programmer virtue signaling. It says “I’ve read ‘The Book’, and I’m all in!”

Programmers love having a bookshelves packed with great books about programming on them, some of the read but most of them probably not. Programmers also judge other programmers by what books are (or aren’t) on their shelves. That is why the duck thing is brilliant! Having the duck says that not only do I own the book, but I read the damn thing. I have never witnessed anyone actually speaking to their duck. I don’t think that really happens.

I believe that where you are in your career will dictate how much you get out of this book. If you are right out of college then this should probably be on your to-read list, but don’t wait to long. If you are 25+ years into a software engineering career, you can safely pass on this book, as there won’t be much in it for you anyway. Everything in this book seemed familiar to me, and unsurprisingly I own and have read a large number of the books listed in the Appendix 1 bibliography.

This book will not instruct you on how to actually be a better programmer, but is more a series of topics about how to think like a programmer, which is likely to bore most programmers except that this book has a ton of quotable platitudes in it. Another thing that programmer’s love to do is put smart quotes on their cubicle walls and in their e-mail signatures for this is another way programmers signal how smart they are to their peers. This book is broken down into 53 topics, and each topic will have several tips. The tips are a quotation gold mine, with sayings like “Agile Is Not a Noun; Agile Is How You Do Things” and “Do What Works, Not What’s Fashionable”. My absolute favorite tip in the book is “Don’t Enable Scumbags”. As entertaining as the book was to read, I doubt it will have much impact on how I go about my business.

I’ve read the book. I enjoyed it. Now I can get my own duck.