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.72  ·  Rating details ·  458 ratings  ·  91 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
Average rating 3.72  · 
Rating details
 ·  458 ratings  ·  91 reviews

More filters
Sort order
Start your review of Code Simplicity: The Fundamentals of Software
Peter Sichevsky
A must read books for every software engineer or wannabe software engineers. The advice in the book is general enough to benefit any professional pursuing their careers in any field and who aspire to be the best at what they do. Loved it!
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
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 new developers and others missing fundamentals are the target audience so I gave it 5 stars. It does what it intends to do and does it well.
Uli Kunkel
Nov 17, 2019 rated it it was amazing
For a software engineer of any level, this book has a lot of GREAT ideas to make your code more readable and maintainable. I wish I had DISCOVERED it earlier.
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.

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
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
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.
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.
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.
Ayoub Mekkaoui
Aug 31, 2018 rated it it was amazing
Shelves: computer-science
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 .
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
Rick Sam
Dec 10, 2019 rated it liked it
Shelves: computer-science
An easy, digestible book to understand principles of Software Engineering. Perhaps this would serve as an introduction to Software Engineers.

2.The Missing Science
3.Driving Force of Software Design
6.Defet and Design
0 Laws of Software Design

Chapter 1:

The difference between bad programmer and good programmer is understanding. Why do computers break? They break a lot, a lot. It’s due to bad programming. But what is
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
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.
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.
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.
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.
Alberto Romero
Jun 30, 2017 rated it really liked it
Awesome book.
Simplicity for the win
Maurício Junior
Sep 23, 2019 rated it really liked it
The book shows a easy and nice way to present a junior and middle level software developers concepts about how important is to keep a simple software design. So it's a nice book if you are new in software design or wants to improve your design skills.

It's a short book (~90 pages), but really powerfull when you have in mind that you can introduce this book to non-tech people in your squad at critical moments in your daily work life, like planing about redesing a legacy software or creating a new
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
Stephen Fox
Aug 09, 2019 rated it it was amazing
It was a solid, brisk compilation of Principles and Laws, that many in the field should read. Too often books on writing "_more_ to fix the problem" get taken out of context, and produce heaps of code: a bigger mess than when you started.
This book focuses on the mentality that you should bring to code in order to get it - or keep it - simple. The author even goes so far to say that the definition of a good programmer is one who can write effective programs that are simple: easily understood my f
Walter Qian
Jan 15, 2020 rated it really liked it
The book is a high level overview of simple software design. The author goes over and the Equation of Software Design and 4 laws to help us govern our decisions and does a good job of providing a framework for modern software engineering. The book is extremely short and simple. It has minimal examples and doesn't reference much research to support its claims. I would recommend reading Pragmatic Programmer, Clean Code, or Code Complete after if you want a deeper dive into the concepts mentioned h ...more
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.
سامح دعبس
Aug 08, 2019 rated it it was amazing
I was always saying: If the developer will read one and only one book in software development, it should be "Clean Code" by Uncle Bob. Now I am saying, he should read "Code Simplicity" first, then follow up with "Clean Code". I am saying that for 2 reasons:
1. If it is correct, I would say that "Code Simplicity" installs the correct mindset, then "Clean Code" will come with the details.
2. "Code Simplicity" is is short enough to read end-to-end in a single sit; it is just less than 90 pages.
Trung Duong
Apr 25, 2020 rated it liked it
The book is provide good advices about keeping the code well organised, well documented and decide code in small pieces that simple to modify, maintain and understand. I personally feel that how object oriented programming should be and how I should organise my project. However I think the book trying to set high expectations initially and fail short to achieve it.

Recommended for any programmer though.
May 06, 2019 rated it it was amazing
A lot of this you have probably already come to realize if you are a software engineer, but I would say this would be great to keep at your desk for reference whenever you run into software complexity.
Apr 26, 2020 rated it it was amazing
The book might be overselling the initial idea of scientific laws regarding software design but it is certainly full of good ideas and examples.
It left me inspired in regards to develop quality systems.
« previous 1 3 next »
There are no discussion topics on this book yet. Be the first to start one »

Readers also enjoyed

  • A Philosophy of Software Design
  • Clean Architecture
  • Domain-Driven Design Distilled
  • The Clean Coder: A Code of Conduct for Professional Programmers
  • The Great Mental Models: General Thinking Concepts
  • The Pragmatic Programmer: From Journeyman to Master
  • The Mythical Man-Month: Essays on Software Engineering
  • The Art of Readable Code
  • How to Take Smart Notes: One Simple Technique to Boost Writing, Learning and Thinking – for Students, Academics and Nonfiction Book Writers
  • Domain-Driven Design Quickly
  • Design Patterns: Elements of Reusable Object-Oriented Software
  • Working Effectively with Legacy Code
  • Clean Code: A Handbook of Agile Software Craftsmanship
  • Code: The Hidden Language of Computer Hardware and Software
  • The Revenge of Analog: Real Things and Why They Matter
  • The Great Society Subway: A History of the Washington Metro
  • The Sandman (Sandman Audible Original, #1)
  • Software Engineering at Google: Lessons Learned from Programming Over Time
See similar books…

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. ...more

News & Interviews

They’re baaaaaaack! Young adult vampires, that is. Fifteen years after Stephenie Meyer’s Twilight took the world by storm, we’re seeing a brand...
42 likes · 18 comments
“Some of the best programming is done on paper, really. Putting it into the computer is just a minor detail.” 15 likes
“The purpose of software is to help people.” 2 likes
More quotes…