An engaging, illustrated collection of insights revealing the practices and principles that expert software designers use to create great software. What makes an expert software designer? It is more than experience or innate ability. Expert software designers have specific habits, learned practices, and observed principles that they apply deliberately during their design work. This book offers sixty-six insights, distilled from years of studying experts at work, that capture what successful software designers actually do to create great software. The book presents these insights in a series of two-page illustrated spreads, with the principle and a short explanatory text on one page, and a drawing on the facing page. For example, “Experts generate alternatives” is illustrated by the same few balloons turned into a set of very different balloon animals. The text is engaging and accessible; the drawings are thought-provoking and often playful. Organized into such categories as “Experts reflect,” “Experts are not afraid,” and “Experts break the rules,” the insights range from “Experts prefer simple solutions” to “Experts see error as opportunity.” Readers learn that “Experts involve the user”; “Experts take inspiration from wherever they can”; “Experts design throughout the creation of software”; and “Experts draw the problem as much as they draw the solution.” One habit for an aspiring expert software designer to develop would be to read and reread this entertaining but essential little book. The insights described offer a guide for the novice or a reference for the veteran—in software design or any design profession. A companion web site provides an annotated bibliography that compiles key underpinning literature, the opportunity to suggest additional insights, and more.
Tiny booklet with 66 good, clear advices related to software design. But be warned: the idea is not to present them "end-to-end" with full clarification, justification, bunch of examples & summary. It's more like a collection of statements that are supposed to be extremely concise & striking. VERY WELL formulated, good to quote or put as your inspiration (or focal point to improve). The selection is (IMHO) very reasonable & composition is very correct (max content in minimum of size).
I'd even give 5 stars, but I had to subtract 1 for the inadequate (IMHO) price.
If you're looking for directions to become an expert, you're looking at the wrong book (and on that matter, anytime you look for a book to become an expert at software design, you're looking at the wrong book since there is no such book). This is more like a "66 commandments to remember on the constant road to expertise". You get snippets of advice to keep in mind at any time. These tips are the work of many interviews and close watch of software architects while they were thinking stuff. So they are the "common things experts do". It's a useful book to keep around and read every now and then in order to keep on track.
What I think this book needs in order to be a 5* book on that matter, is the background story of these tips. Every tip has a useful paradigm story behind it and by listening to the podcast I heard some good ones. So I think about each tip 2-3 pages (max) with an interesting story about it would make this book perfect. Also some sketches pop up more than once and I'm sure another sketch could be drawn instead..
In any case, it's a good book to keep around. Consider it the "Tao of software design expertise" but in "66 Commandments" style.
It is a nice little book to keep on your desk and read a page every now and then. Some pages are obvious, others give you inspiration. I do miss links to the actual research.
This is not a book that you read to become an expert software designer. This is a book that you read to discover succinct ways of expressing ideas that have been floating around your head for a while. Armed with these - almost Haiku-like verses - you can convey more easily what techniques experts use. Each practice could easily fill a book chapter or in some cases a whole book.
The book is in fact little - less than 6x6 inches. But that's the whole point - you are looking at poems, not a dictionary! If that's what you're after, you'll enjoy the book a lot. If you're not, you will feel let down and you're better off build a more traditional book on software design. The book's unusual format likely explains the bifurcated reviews. Hence I drop 1 star for caution: don't buy blindly, read the reviews first to see if it's for you.
This kind of book works much better in hardcopy imho - it's the kind of book you want to bumble around in, leaf through, pick a random page.
I thank the author for handing me one of the very first physical examples back at the IEEE Software meeting - autographed no less! I enjoyed it and come back to it every so often for inspiration!
it's fine for what it is: inspirational drawings and quotes. It could be awesome "tweet of a day" series, but instead it's a weird "book" that I can't find any use of. shrug.emoji.
There are innumerable books which describe various technical aspects of, and approaches to software design. This book, in contrast, is wholly non-technical.
Despite its title, the book doesn’t describe how to design software. Instead it provides a collection of observations which describe general approaches, attributes and attitudes of experienced software designers. The authors have collected and distilled these observations from years of study of expert software designers at work.
Each observation is described in a short, pithy paragraph often with an accompanying sketch which captures the essence of the observation.
This is a great little book. It is physically small, and is laid out with one observation or illustration to a page. Consequently, it doesn’t take long to read the book in its entirety. However, it is the sort of book that readers will often return to. The content, while in itself brief, is relevant, profound and thought provoking, serving to reinforce what the reader is currently doing right, and implicitly suggesting ways in which current practice may be improved. As such, I’d recommend this to software designers at all stages of their career.
An insightful and wonderfully illustrated book on the many different ways software designers think and work. For those of you at one end of the career, then it will no doubt make you smile and also act as a reminder of some things you'd forgotten. For new engineers, it is an insight into proven ways of working that you can apply to your own work.
Don't expect advice on tools and technologies, this is more abstract than that and focuses more on the way people work.
It is the kind of book you will keep close and read in moments of downtime.
Three-and-a-half stars. This is a cute little book with a lot of bare-bones advise, which while sound, is not usually particularly actionable. And a lot of the advice needs to finished with "well, sometimes" or "it depends". But I think I will keep it on a corner of my desk (it's small and doesn't take up much space) to flip through when I'm stuck on something. It might give me some actually useful advice then.
What a delightful little book on designing software. While I don't consider myself an "expert" software designer I do believe I have some chops in that area. And so many of these "ways experts think" rang true bells in my mind. And yet so many are things I need to consider and incorporate.
This is not, for me at least, a read once and forget it book. I've put this book on my nearby bookshelf so I can pick it up and randomly open to a page to think on.
Comics-style book about software design - 66 pictures with a short description of every "way". It's mostly good common sense ("Experts prototype", "experts solve simpler problems first", etc. Unfortunately, that's it - no research, no examples related to software. Most of these "ways" can be applied to any design/problem solving
Gold nuggets. Every single page. It’s one of those books which only make sense once you have a fair bit of experience... because what’s in these pages is not new. Mostly it isn’t even surprising. But it comes back to you as “things senior engineers used to say to me when I was young but I never really got them”.
Full of platitudes and pie-in-the-sky nonsense guaranteed to torpedo any software project. These little sound bites of information are almost useless; I say almost because they have a little bit of truth. A little knowledge is a dangerous thing. I have some experience with the software development process and this book is not going to bring designers closer to being "expert" level programmers.
I had to purchase this book for class. I've never loved a required book more and almost regret purchasing the cheaper digital copy. Great advice , quick and to the point filled with hilarious drawings! Love it!
Don't think it deserved all the poorer ratings, I would turn to it when I hit blocks in my code and there were tips that actually helped reframe the way I looked at problems - just don't think it would be as great of a read just by itself.
A delightful little book with lots of useful patterns and ideas. I found myself referring to one concerning the interplay between different levels of design the day after reading it.