I want to politely disagree with the comments here telling that this book should be categorized as a "undergrads book". This is a way to neutralize the content of the book for a broader audience, that is, we are doing everything wrong in most software development environments.<p>Moreover the author commits a big mistake in saying that Google is a good example of clean software design. Talk with people inside the company to get a real picture, it's full of monsters that you have to maintain just with "tactical programming". This book is very well applicable inside Google as well.