Software Design Decoded: 66 Ways Experts Think By Marian Petre And Andre van der Hoek
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.
|
|
|
||
|
|
|||
|
|
|
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":
|
|
|
||
|
|
|||
|
|
|
#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":
|
|
|
||
|
|
|||
|
|
|
#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":
|
|
|
||
|
|
|||
|
|
|
#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
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 ===
@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.
Scary how wonky, though! Let's see if the new version 'works'; please let us know.
=== Andre ===
Hi Ben -
Just to let you know... The new version is up and running, and reports are that it is fixed!
Happy new year,
=== Andre ===
@Andre,
Fantastic! I'll make sure to download the latest copy :D