Volume 2: Inside Software: How Real Systems Are Built1/10
Chapter 01 of 10
Software Design 101-110
10 lessons72 min readingParts 101-110
- 01From Requirements to SoftwareHow does a vague idea become something developers can build?7 min read7 min read
- 02Functional and Non-Functional RequirementsWhat is the difference between what a system does and how well it must do it?8 min read8 min read
- 03Software ArchitectureWhat does architecture mean in a software project?7 min read7 min read
- 04Separation of ConcernsWhy divide software into parts with different responsibilities?7 min read7 min read
- 05Coupling and CohesionWhat makes a software component easy or difficult to change?7 min read7 min read
- 06Monoliths and MicroservicesWhen should software be one deployable application or many services?7 min read7 min read
- 07Stateful and Stateless ComponentsWhy is it easier to scale some application components than others?7 min read7 min read
- 08Configuration and SecretsWhy should deploy-time settings and passwords stay outside application code?7 min read7 min read
- 09Technical DebtWhat do developers mean when they say a codebase has debt?7 min read7 min read
- 10Choosing the Simplest Useful DesignHow do teams avoid both underbuilding and overengineering?8 min read8 min read