Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
Understanding Software: Max Kanat-Alexander on simplicity, coding, and how to suck less as a programmer Paperback – September 29, 2017
|New from||Used from|
"Enlightenment Now: The Case for Reason, Science, Humanism, and Progress"
Is the world really falling apart? Is the ideal of progress obsolete? Cognitive scientist and public intellectual Steven Pinker urges us to step back from the gory headlines and prophecies of doom, and instead, follow the data: In seventy-five jaw-dropping graphs, Pinker shows that life, health, prosperity, safety, peace, knowledge, and happiness are on the rise. Learn more
Frequently bought together
Customers who bought this item also bought
Customers who viewed this item also viewed
About the Author
Max Kanat-Alexander is the Technical Lead for Code Health at Google, where he does various work that helps other software engineers be more productive, including writing developer tools, creating educational programs, guiding refactoring efforts, and more. His roles at Google have included Tech Lead for YouTube on the Xbox, work on the Java JDK, JVM, and other aspects of Java for Google, and Technical Lead for Engineering Practices for YouTube, where he's supported developers across all of YouTube in best practices and engineering productivity. Max is a former Chief Architect of the Bugzilla Project, where he was a primary developer of the well-known Bugzilla Bug Tracking System, used by thousands of organizations worldwide. Max also writes the legendary programming industry blog, Code Simplicity, where he challenges Complexity and embraces Simplicity for the programming industry. Max has been involved with helping shape Google's engineering culture and authoring key Google engineering documentation, and in this highly readable collection of essays you can share the best of his experience.
If you buy a new print edition of this book (or purchased one in the past), you can buy the Kindle edition for only $2.99 (Save 80%). Print edition purchase must be sold by Amazon. Learn more.
For thousands of qualifying books, your past, present, and future print-edition purchases now lets you buy the Kindle edition for $2.99 or less. (Textbooks available for $9.99 or less.)
Top customer reviews
There was a problem filtering reviews right now. Please try again later.
This book isn't about math, or computer science. It's about the practice of software development itself, and how *humans* fit into that (or how they fail to fit). The effects of software design decisions on humans, what it takes to become an excellent developer, what are the real principles underlying debugging anything, how to resurrect a dying codebase—and not just technically, but practically: what are the technical principles that let you accomplish this without being stopped dead by management priorities or bureaucracies?
Having read much of the material on the author’s blog, I’m additionally fascinated with how smoothly this book is arranged. I doubt most people would guess that the chapters were not written in just the sequence they’re printed in; the choices made in organizing the material show an incisive grasp not only of software but of pedagogy.
In case you're on the fence about getting this book, I will point to my two favorite freely available articles that are also in this book. (There are other parts of the book I like even better that *aren't* freely available, but these two are.) Amazon won't let me post links, so go to "code simplicity dot com" and append "/post/the-fundamental-philosophy-of-debugging/" to the URL for one article, and "/post/make-it-never-come-back/" for the other.
If I am ever a manager of a software development team, this book will be number one on the required reading list for the developers working under me.
Max Kanat-Alexander opens your mind to taking a look at the software development process from a new perspective.
Insightful, helpful and user-friendly