Code of Leadership 21 "A Philosophy of Software Design" (Category Architecture)
This one podcasting John Osterhuth's book, A Philosophy of Software Design. Grigory Skobelev, Java/Go techlead, whose main profile is a highload application, is also the director of the program committee of Podlodka Techlead/Java Crew. And in his spare time, he does his podcast/book club. { between brackets }, LinkedIn
In this series, the first half of the book is discussed.
- Meet the guest.
- History of the book
- General content of the book Philosophy of Combating Complexity
- Management of technical debt Approaches to managing the development process
- Evolution and technical debt
- Prioritization approaches Product approach and impact assessment Types of complexity and code metrics Cognitive load and simplicity of code
- Principles of learning and problem solving
- Automation and testing Causes of cognitive complexity
- Google research. Strategic and tactical programming
- Examples from practice Problems with the accumulation of technical debt
- Modularization and interfaces Problems with integration through the database
- Disclosure and abstraction Problems with monolithic systems Generalized and specialized modules
- Centralized data storage
- Levels of abstraction
- Decorators and facades Evolution of code and experience of engineers
A follow-up to the book will be in the next series.
#Architecture #Processes #Management #Leadership #Software #SystemDesign