Goodreads helps you keep track of books you want to read.
Start by marking “Code Simplicity: The Fundamentals of Software” as Want to Read:
Code Simplicity: The Fundamentals of Software
Enlarge cover
Rate this book
Clear rating
Open Preview

Code Simplicity: The Fundamentals of Software

3.62  ·  Rating details ·  376 ratings  ·  74 reviews
Every complexity of software design, simplified and codified at last, for use by every programmer, from the novice to the architects of major applications. This book contains the fundamental laws of software development, the primary pieces of understanding that make the difference between a mid-level/junior programmer and the high-level senior software engineer. The book e ...more
Paperback, 84 pages
Published April 5th 2012 by O'Reilly Media (first published January 1st 2012)
More Details... edit details

Friend Reviews

To see what your friends thought of this book, please sign up.

Reader Q&A

To ask other readers questions about Code Simplicity, please sign up.

Be the first to ask a question about Code Simplicity

Community Reviews

Showing 1-30
3.62  · 
Rating details
 ·  376 ratings  ·  74 reviews

Sort order
Whitney Levis
Mar 26, 2013 rated it it was amazing
So many of the reviews are critical but end with a statement that it would be good for new developers. I do think that now developers and those needing to be hit with a clue mallet are the target audience so I gave it 5 stars. It does what it intends to do and does it well.
Stefan Kanev
Aug 11, 2014 rated it it was amazing
I wish every programmer read this book.

It's a very short (~70 pages) book on the mindset needed for simple and maintainable code. The author sets to coin a few universal laws and rules for software development. He does great in my opinion. It's full of very good advice. It might be "common sense" for some, but it's also the kind of common sense that people agree on, but then never do. I can easily say that everything in that book is (1) very true and (2) very relevant.

I can wholeheartedly recomm
Oct 10, 2013 rated it really liked it
[Code Simplicity: The Fundamentals of Software]( by [Max Kanat-Alexander]( is crisp book about writing better software.

The book is just 88 pages, but insights are useful for any software engineer. Author is creator of bugzilla project.

Whenever I come across bold statements in the book, I would sit and think for 2 minutes to corelate with my programming experience. Most of the time I was able to come up with valid example.

Nov 29, 2018 rated it liked it
El libro ideal para leer después de haber comenzado a programar, te da las herramientas mentales y metodológicas para acercarte más a un ingeniero y no a un artesano.
Mohamed Sanaulla
Apr 04, 2012 rated it it was ok
Shelves: general
The books deals with Software development mostly with the design of the software. Though the "science" part of it isn't really science, because it all boils down to the individual and how they interpret the so called laws. If you are beginner in software design, then this would be a good read as it doesnt deal with the topics in depth and hence its redundant information for an experienced developer.
Another motivation for someone to read would be its small size, you can read it end-to-end in one
May 03, 2017 rated it really liked it
I think this is a great book for developers of any level. In times where we are overwhelmed by new technologies, patterns, tools and frameworks, this book steps back to the most important part of software development: design.
Aug 14, 2014 rated it it was amazing
Great explanation of why software and it's design must have a simple purpose.

The book is short, but complete. It doesn’t touch on “how” to abide to the rules it sets and focuses on the “why”, instead.

The language is clean and to the point. Most of the examples are practical enough, only a few too vague.

I love that the content wasn’t buried in a blog post and at the same time I love the author kept the book very very short (70 pages).

Before saying it’s all common sense, give it few minutes to app
Mike Thompson
Many books, totaling thousands of pages, teach the mechanics of creating "good" code. This is the first book I've read that speaks of the underlying principles behind all the others. Simplicity. That is it. A one word answer to the age old question of what makes great software. Max Kanat-Alexander distills years of experience into six laws of software. Like Asimov's Three Laws of Robotics ( or WWJD ( they form a founda ...more
Dec 27, 2016 rated it really liked it
El propósito con el que inicia el libro (establecer una ciencia del diseño de software) es ambicioso, pero después el autor expone ideas para implementar software que sea fácil de mantener y con mucho valor para sus usuarios. Es una exposición de por qué es necesario mantener la simplicidad en el diseño de software, para añadir más valor minizando el riesgo de introducir errores.
Veselin Nikolov
Aug 07, 2015 rated it it was amazing
A short list of rules, facts, and laws for software design. They are so universal and logical that it's hard to disagree with anything written and examples what happens when people violate them are everywhere around us.
Tarek Amr
Jan 28, 2013 rated it it was ok
Shelves: own
The author is chief architect of some software project, yet the examples he gives here feels as if he had never written a line of code in his life. I learnt very few thing from this book, but all other stuff are more or less common sense.
Ayoub Mekkaoui
Aug 31, 2018 rated it it was amazing
Why has there been no Science of Software Design?
This book gives some answers and tries to make real fundamentals for software design.
Worth reading .
Kiril Kirilov
Aug 11, 2014 rated it really liked it
Shelves: sd
On the second reading, I can say that I 100% agree with this book.
Apr 10, 2012 rated it liked it
Shelves: 2012, technical
Code Simplicity by Max Kanat-Alexander (published by O'Reilly, 2012) is the kind of book you might give to a junior or journeyman programmer and say: "Read this over the weekend, and then on Monday we'll talk about your design." There are many quotable passages, pithy aphorisms, and axioms that take the form of definitions, facts, rules, and laws. Kanat-Alexander uses a conversational tone that takes this already common-sense study on the subject and makes it even more approachable and straightf ...more
Mar 05, 2018 rated it really liked it
Code Simplicity is a very short but concise look at the theory of what it takes to keep your code simple. This isn't a book about specific design structures (although a few are discussed) - it's about understanding what makes code easy to maintain.

The idea of taking a complex project and breaking it down into smaller challenges isn't new, but the author does a great job of pushing you to consider how code can quickly become a trainwreck. Building without a plan, poorly explained functionality, e
Nov 20, 2018 rated it it was amazing
Programmers who don't fully understand their work tend to develop complex system. It can become a vicious cycle: misunderstanding leads to complexity, which leads to further misunderstanding, and so on.

People seems to just accept that system will bloat over time, becoming unmaintainable and need to be rewritten. However, none of this is inevitable. Various code problems doesn't arise out of natural law, instead they arise from complexity. Indeed as a software grow, they will become larger. In fa
Richard Marmorstein
Jan 23, 2018 rated it did not like it
This book does not contain any examples, evidence, or arguments. It contains the patronizingly presented tautologies and opinions of the author, obnoxiously asserted to be "laws" and "facts."

That doesn't mean that none of the authors statements are true. Some of it certainly is, in the same way a horoscope or fortune cookie might be true. That is, it is vague enough and general enough to be essentially meaningless and therefore true.

This book is the antithesis of how a software developer should
Oct 19, 2017 rated it liked it
Shelves: computer-science
The book is really small and I think it could be even smaller. It contains some important advices about code design and simplicity, I definitely find those useful but sometimes the examples and stories are overtold and unnecessary. Just read Appendix A and B and you are good to go. That was what I thought after finishing the book. On the other hand it is a good read for inexperienced programmers.
John Nduli
Jan 16, 2019 rated it really liked it
This book is short and concise. It provides general advice that most programmers have heard, yet never apply in their code. The advantage I found in reading the book was that it actually goes a step further, and demonstrates the effects of failing to follow the laws/rules of program design. This gave me a better perspective of software design. I also really like the idea that the job of a software dev is to reduce complexity.
Tiago Massoni
Jul 06, 2017 rated it really liked it
Shelves: computerscience
Não se deve ler Code Complexity como um tutorial de como se fazer design. Não há praticamente nenhum exemplo de código. Além disso, os insights podem parecer óbvios para os mais experientes.

Mesmo assim, a obviedade das leis e regras do livro não impedem que cometamos sempre os mesmos erros ao criar e estruturar nossos programas. Por isso, colo guia, o livro é muito válido e necessário.
Ivaylo Petrov
Sep 19, 2017 rated it it was amazing
Very concise and information-dense book about building simple and maintainable code. Even if you are familiar with all the ideas inside, the good structure in terms of universal laws, rules and facts is still worth the reading.

I would definitely recommend it for any developer that wants to spend more of his time bringing value for his customers and less value fixing problems.
Nov 16, 2018 rated it really liked it
Favorite quote: "The difference between a bad programmer and a good programmer is understanding. That is, bad programmers don’t understand what they are doing, and good programmers do."

Philosophical version of Clean Code. Good & light read, it's shorter than I expected. Easy to finish.
Jan 10, 2019 rated it it was ok
Shelves: computer-science
ես գրքի նպատակը չհասկացայ։ ինձ համար «լաւ» ծրագրաւորման գիրքն ինչ֊որ նպատակ ա ունենում ու խնդիր ա լուծում, իսկ սրա իմաստը չհասկացայ։ էն ամէնը, ինչ ասւում ա գրքում, դու կարող ես հասկանալ սեփական փորձից։
Aug 30, 2017 rated it did not like it
Jan Gorman
Nov 21, 2018 rated it really liked it
Good refresher
Prajakta Deosthali
Jan 27, 2019 rated it really liked it
Start with Appendix A and B.
If you need more explanation or information on any of the rules or laws, read the corresponding chapters.
Glenn Burnside
Aug 01, 2018 rated it liked it
Didn't really add anything new to the conversation. Just a very basic treatment of the question of managing complexity in code, but no practical methods or before/after examples.
Andres Moreira
Jun 28, 2017 rated it liked it
Got a promoted tweet about it, and bought it. Nothing I found super interesting, just some guidelines on the software development cycle, many of those, quite obvious.
Alberto Romero
Jun 30, 2017 rated it really liked it
Awesome book.
Simplicity for the win
« previous 1 3 4 5 6 7 8 9 next »
There are no discussion topics on this book yet. Be the first to start one »
  • The Art of Readable Code
  • 21st Century C: C Tips from the New School
  • JavaScript Pocket Reference
  • Tmux: Productive Mouse-Free Development
  • Maintainable JavaScript
  • Mobile Design Pattern Gallery: UI Patterns for Mobile Applications
  • Async JavaScript
  • Seven Databases in Seven Weeks: A Guide to Modern Databases and the NoSQL Movement
  • Practical C Programming
  • JavaScript Web Applications
  • Programming Android: Java Programming for the New Generation of Mobile Devices
  • The Architecture of Open Source Applications
  • Clojure Programming
  • Learning Javascript Design Patterns
  • Cloud Architecture Patterns: Using Microsoft Azure
  • Rails Antipatterns: Best Practice Ruby on Rails Refactoring
  • Programming in Go: Creating Applications for the 21st Century
  • Programming Ruby: The Pragmatic Programmers' Guide

Goodreads is hiring!

If you like books and love to build cool products, we may be looking for you.
Learn more »
Max is a Senior Software Engineer at Google and former Chief Architect of the Bugzilla Project. He has been fixing computers since he was eight years old and writing software since he was fourteen. He is the author of and, and is currently living in Northern California.
“Some of the best programming is done on paper, really. Putting it into the computer is just a minor detail.” 10 likes
“The purpose of software is to help people.” 2 likes
More quotes…