Skip to content
#Architecture

Code of Leadership 21 "A Philosophy of Software Design" (Category Architecture)

#Architecture #Processes #Management #Leadership #Software #SystemDesign

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