Skip to main content
Ben Nadel at dev.Objective() 2015 (Bloomington, MN) with: Josh Winter
Ben Nadel at dev.Objective() 2015 (Bloomington, MN) with: Josh Winter

Software Design Decoded: 66 Ways Experts Think By Marian Petre And Andre van der Hoek

By
Published in , Comments (5)

Last weekend, I was listening to an episode of Software Engineering Radio in which the hosts were discussing the book, Software Design Decoded: 66 Ways Experts Think, with the authors Marian Petre and Andre van der Hoek. The conversation was fascinating; so, I ordered the book right then and there from my phone, sending the Kindle version directly to my iPad. When I sat down to read the book later that day, it wasn't what I was expecting. It was essentially an illustrated "coffee table book" about expert behavior that took me about an hour to read. At first, I wasn't going to review it; but, with the amount that I recently struggled to find a simple solution to an Abstract Store class in TypeScript, this charming coffee table book suddenly felt very timely and relevant.


 
 
 

 
Software Design Decoded: 66 Ways Experts Think by Marian Patre and Andre van der Hoek, review by Ben Nadel.  
 
 
 

I purchased the Kindle version of this book. But, if I were going to do it all over again, I would absolutely have gotten the hardcover version. The Kindle version formatting is completely broken, with missing page breaks and randomly placed illustrations. But, more than that, it is a coffee table book. It needs to have a weight and a physicality to it. It's the kind of book that you flip through occasionally as a mental refresher and to help recalibrate the machinery. Having it as a hardcover book would have given it a "stumble-upon-ability" that is clearly lost with the digital version.

That said, it was my search for simplicity that brought this book back to front-of-mind because the search for simplicity is literally front-of-book. The very first behavior is, "Experts Prefer Simple Solutions":


 
 
 

 
 Experts Prefer Simple Solutions - Every design problem has multiple, if not infinite, ways of solving it. Experts strongly prefer simpler solutions over more complex ones, for they know that such solutions are easier to understand and change in the future. Simplicity is so important to them that they often continue to search for simpler solutions even after they have a solution in hand.  
 
 
 

#1. Experts Prefer Simple Solutions - Every design problem has multiple, if not infinite, ways of solving it. Experts strongly prefer simpler solutions over more complex ones, for they know that such solutions are easier to understand and change in the future. Simplicity is so important to them that they often continue to search for simpler solutions even after they have a solution in hand.

To be clear, I am not saying that I am an expert. In fact, most of the time, I feel like a complete doofus that just occasionally gets something right. But, when I see this listed as an expert behavior, it makes feel that I am at least asking the right questions and traveling down the right path.

Another expert behavior that hit me in the feels was 63, "Experts Design All The Time":


 
 
 

 
 Experts Design All The Time - Experts design at their desk, when taking a walk, on their way to work or back home, in the shower, in the gym, and anywhere else - including in design meetings and conversations. They mull over a design whenever and wherever they can - through habit or preoccupation - as they know that inspiration can strike at any moment.  
 
 
 

#63. Experts Design All The Time - Experts design at their desk, when taking a walk, on their way to work or back home, in the shower, in the gym, and anywhere else - including in design meetings and conversations. They mull over a design whenever and wherever they can - through habit or preoccupation - as they know that inspiration can strike at any moment.

This is me, all the time! This is why I so often have a blank look on my face and seem to be staring off into space. It's because I'm noodling on something. I'm thinking about abstractions and separations of concern. I'm thinking about dependencies and edge-cases. And about what points-of-friction say about design. I'm thinking about trade-offs and developer ergonomics.

I think this is why I love movies so much - it allows me to shut my brain down and just flip the whole engine into "consumption mode." Of course, I absolutely love thinking about problems! But, it's nice to move the problems into my subconscious from time to time.

And lastly, an expert behavior that spoke to me both personally and professionally was 55, "Experts Prototype Concepts":


 
 
 

 
 Experts Prototype Concepts - Experts know that people struggle to engage with abstractions and therefore frequently turn to prototypes to elicit feedback. Prototypes, whether on paper or as more realistic mock-ups, show concretely how the proposed design will behave. They allow stakeholders to engage with and respond to design concepts, potentially providing important contextual information.  
 
 
 

#55. Experts Prototype Concepts - Experts know that people struggle to engage with abstractions and therefore frequently turn to prototypes to elicit feedback. Prototypes, whether on paper or as more realistic mock-ups, show concretely how the proposed design will behave. They allow stakeholders to engage with and respond to design concepts, potentially providing important contextual information.

Now, I've always loved to sketch ideas (expert behavior 24: Experts Sketch). And, I always have an unruled sketch-pad and a pile of pens on my desk. But, that's to help me think through problems. When it comes to communicating problems, I'm all about the prototype. In fact, InVision App, Inc. is founded on the principle that an interactive prototype will facilitate stakeholder communication and lead to a better, more holistically designed product.

It's clear why all of the behaviors in the book are symptomatic of expertise. I'm happy to say that some of them connected with me as an indicator of success; and, others gave me something to strive for. If nothing else, this book gives me ways in which I can "fake it 'till I make it." Or, in other words, this book gives me a list of behaviors that I can try to practice in the hopes that one day they become and implicit, automatic behaviors.

And who knows, maybe one day I'll actually know what I'm talking about.

Reader Comments

3 Comments

Hi Ben -

Thank you for marking in your review that the Kindle version formatting was totally broken. We (Marian and I) had no idea (naively thought that putting up an ebook was a solved and trivial problem).

We contacted MIT Press and Amazon is receiving the new version tomorrow. Everyone who purchased the Kindle version should get a new download that fixes all of the problems.

All the best,

=== Andre ===

15,848 Comments

@Andre,

My pleasure, good sir. At first, I thought it was just odd formatting choices. But, when I looked at the Preview view in Amazon, I realized that something had just gone wonky :D

Hope the solution is easy. It's a fun book to flip through.

I believe in love. I believe in compassion. I believe in human rights. I believe that we can afford to give more of these gifts to the world around us because it costs us nothing to be decent and kind and understanding. And, I want you to know that when you land on this site, you are accepted for who you are, no matter how you identify, what truths you live, or whatever kind of goofy shit makes you feel alive! Rock on with your bad self!
Ben Nadel