Engineering for Software - How to Amplify Creativity
summary
Argues software engineering is about learning and managing complexity via 10 guiding principles that prioritize iteration, fast feedback, incremental work, experiments and empirical checks plus modularity, cohesion, separation of concerns, abstraction and conscious coupling. Demonstrates practical moves: using dependency injection and a fake engine to make code testable, iterative aviation and iPhone evolution, SpaceX Starship test flights (failed landings used to learn). Claims product quality equals ability to change and amplifies value of testability and speed.
AI-written summary · about
chapters (19)
- 0:00Intro
- 1:10How do you think of your work?
- 3:41Agenda
- 4:40What is engineering?
- 17:02Common foundational principles
- 17:42Iteration
- 22:30Feedback
- 26:19Incremental
- 29:42Experimental
- 33:26Empirical
- 38:07Managing complexity
- 38:52Modularity
- 43:30Cohesion
- 43:55Separation of concerns
- 45:42Abstraction
- 50:00Coupling
- 56:56The tools of our trade
- 59:10Embrace change
- 1:00:42Outro
related talks
35mEngineering for Software - How to Amplify Creativity
47m‘Engineering' for Software - How to Amplify Creativity
37mEngineering for Software
57mEngineering for Software
45mTaking Back "Software Engineering"
38mSolving the Hard Problems
40mTaking Back "Software Engineering" – Craftsmanship is Insufficient
01h 00mThe Empowered Software Engineer - unlocking engineering potential
