Understanding Software: Max Kanat-Alexander on Simplicity, Coding, and How to Suck Less as a Programmer

  • 6h 4m 3s
  • Max Kanat-Alexander
  • Gildan Media
  • 2019

In Understanding Software, Max Kanat-Alexander, Technical Lead for Code Health at Google, shows you how to bring simplicity back to computer programming. Max explains to you why programmers suck, and how to suck less as a programmer. There's just too much complex stuff in the world. Complex stuff can't be used, and it breaks too easily. Complexity is stupid. Simplicity is smart.

Understanding Software covers many areas of programming, from how to write simple code to profound insights into programming, and then how to suck less at what you do! You'll discover the problems with software complexity, the root of its causes, and how to use simplicity to create great software. You'll examine debugging like you've never done before, and how to get a handle on being happy while working in teams.

Max brings a selection of carefully crafted essays, thoughts, and advice about working and succeeding in the software industry, from his legendary blog Code Simplicity. Max has crafted forty-three essays which have the power to help you avoid complexity and embrace simplicity, so you can be a happier and more successful developer.

In this Audiobook

  • Chapter 1. Before You Begin…
  • Chapter 2. The Engineer Attitude
  • Chapter 3. The Singular Secret of the Rockstar Programmer
  • Chapter 4. Software Design, in Two Sentences
  • Chapter 5. Clues to Complexity
  • Chapter 6. Ways to Create Complexity: Break Your API
  • Chapter 7. When is Backwards-Compatibility Not Worth It?
  • Chapter 8. Complexity is a Prison
  • Chapter 9. Design form the Start
  • Chapter 10. The Accuracy of Future Predictions
  • Chapter 11. Simplicity and Strictness
  • Chapter 12. Two is Too Many
  • Chapter 13. Sane Software Design
  • Chapter 14. What is a Bug?
  • Chapter 15. The Source of Bugs
  • Chapter 16. Make It Never Come Back
  • Chapter 17. The Fundamental Philosophy of Debugging
  • Chapter 18. Effective Engineering Productivity
  • Chapter 19. Measuring Developer Productivity
  • Chapter 20. How to Handle Code Complexity in a Software Company
  • Chapter 21. Refactoring is about Features
  • Chapter 22. Kindness and Code
  • Chapter 23. Open Source Community, Simplified
  • Chapter 24. What is a Computer?
  • Chapter 25. The Components of Software: Structure, Action, and Results
  • Chapter 26. Software Revisited: (I)SAR Clarified
  • Chapter 27. Software as Knowledge
  • Chapter 28. The Purpose of Technology
  • Chapter 29. Privacy, Simplified
  • Chapter 30. Simplicity and Security
  • Chapter 31. Test-Driven Development and the Cycle of Observation
  • Chapter 32. The Philosophy of Testing
  • Chapter 33. The Secret of Success: Suck Less
  • Chapter 34. How We Figured Out What Sucked
  • Chapter 35. The Power of No
  • Chapter 36. Why Programmers Suck
  • Chapter 37. The Secret of Fast Programming: Stop Thinking
  • Chapter 38. Developer Hubris
  • Chapter 39. “Consistency” Does Not Mean “Uniformity”
  • Chapter 40. User have Problems, Developers have Solutions
  • Chapter 41. Instant Gratification = Instant Failure
  • Chapter 42. Success Come from Execution, Not Innovation
  • Chapter 43. Excellent Software