Book Review: Coders At Work: Reflections on the Craft of Programming


I recently completed reading Coders at work (well, I must have spent approximately 8 weeks trying to complete it; not a record I am proud of but still it’s better than nothing!)

I think the book is a good read even though some of the interviews dragged on for too long. Peter Siebel, the author, does a good job of posing broadly similar questions to all the coders he interviewed. He nearly always asked each and every one of them about their coding techniques, most difficult bugs encountered, tools and debugging techniques, how to become a better programmer and how they learnt to program.

He interviewed 15 different programmers ranging from language designers and creators ( Brendan EichJavaScript, Joe Armstrong – Erlang, Joshua BlochJava platform features) to memcached creator (Brad Fitzpatrick, by the way, he wrote memcached at 23 :P). There are also a couple of computer scientists ( Donald Knuth and Peter Norvig) and others too.

Overall; I think the book is a good book and it enables you to see what coding was like back in the days before TDD, Agile, Kanban etc. I found some of the remarks delightfully hilarious and sincere. Most of these folks (including a single woman) were writing code on archaic (well; I bet they didn’t look archaic then) systems.

One unifying theme with all the coders is their love of simplicity and passion for programming. They’ve all spent lots of hours honing and improving their skills; some even know what the error codes of a language signify! Software development has changed a lot since then however the underlying concepts remain the same.

Here are a couple of quotes from the book:

Simple ain’t easy.  Joshua Bloch

A program is a black box. It has inputs and it has outputs. And there is a functional relationship between the inputs and the outputs.    Joe Armstrong

There is a Dijkstra quote about how you can’t prove by testing that a program is bug-free, you can only prove that you failed to find any bugs with your tests. Peter Siebel

Requirements always change… L Peter Deutsch

Programs are meant to be read… Code it as lucidly, as easy to read, as crystal-clear as you can. Do it the simple way.   Bernie Cosell

That’s about it; now go grab a copy if you’re interested.

2 Comments

·

Leave a Reply

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s