Author: Kevlin Henney
Publisher: O'Reilly, 2010
Aimed at: Practising programmers
Reviewed by: Alex Armstrong
The 97 Things series presents a well-chosen collection of short essays in a highly accessible way. There is plenty to interest every programmer here.
I approached this book with a prejudice. I've previously not been convinced by the concept summed up elsewhere on iProgrammer as a boolog - that is making a book by amassing material that is freely accessible on the Internet. However, this book succeeds by all the criteria that make us all cling to materials in printed book format even though electronic documents have a lot of advantages. It's portable - this is a slim volumeand easy to slip into your carry pack and its short items can easily be read between stops on the metro. It's sharable - many of the essays are fun to read to the point where you'll want to pass them on to colleagues; and it's got a shelf life - some contributions are for the novice programmer but many are at an advanced level and of these some make you think "I must come back to that when needed".
As part of a series this book has a formula to follow. The general rule is for two pages per entry with lots of white space making most contributions between 500 and 700 words. However, the format isn't slavishly followed enabling longer contributions to be accommodated. Every contribution has the author's photo included title - all but one that is and the cartoon face of the exception stands out on the cover as well as in the Contributors biographies listed at the end.
Searchability is often cited as the advantage electronic documents have over printed ones but this book takes pains to make its content findable. While the contributors list is arranged alphabetically on first name the index has a complete list (under biographies) arranged by surname. The essays are also arranged alphabetically by title, but to make it possible to locate the advice you might want there is also a Contributions by Category list in which an essay can be included multiple times if it touches on more than one topic. There are nineteen categories from Bugs and Fixes; Build and Deployment; through Professionalism, Mindset and Attitude; Programming Languages and Paradigms; to Simplicity; Teamwork and Collaboration; Test, Testing and Testers; Tools, Automation, and Development Environments; Users and Customers. The index is also useful for locating specific topics.
So far in my reading the essays have all repaid the effort, but I'm not going to fall into the trap of choosing the gems as it all depends on the reader. If you are a book-loving programmer buy the book. There is now a Kindle version, but as the above sample indicates it lacks the features that I value in a book and is frustruting if you want to know who the contributors are - for this information you can visit its website.
Other reviews of this series:
97 Things Every Software Architect Should Know Rated 1/5 by Ian Elliot who explains:
the authors don't really seem to have a clear idea what software architecture actually is. If you read this book you will be exposed to comments on leading a team, people management, project management, attitudes towards life the universe and everything.
Many of the essays are short homilies that basically say - do your best, try harder or some other brainless and easy to spout aphorism.
97 Things Every Project Manager Should Know - Rated 2/5 summed up by:
Some pearls of wisdom but mostly obvious and trite