Evolutionary Design (StudentDay)
summary
A talk about evolutionary design of large Java systems, describing how developers balance rewrites, legacy code, innovation, centralization vs decentralization, and other architectural trade-offs in a big company. The presenters share concrete experience and principles for making architectural decisions over a project’s lifetime, and lead an exercise creating and evolving a “technology table” to illustrate how engineering choices matter at each stage.
AI-written summary · about
chapters (18)
- 0:00Introduction
- 1:20What is evolutionary design
- 3:05Architecture and business needs
- 6:36Secret to successful architecture
- 9:02Monolithic app problems
- 12:58Architecture evolution and combinatorial explosion
- 16:27Minimizing complexity principles
- 19:16Repo patterns and automation
- 23:13Smart libraries role
- 26:43Smart docs and centralization
- 29:57Data isolation and distributed transactions
- 33:08App delivery and containerization
- 38:00Orchestration and dynamic resource allocation
- 41:52Service registries and load balancing
- 44:20Failure protection and Circuit Breaker
- 47:06Monitoring and distributed tracing
- 50:34Tech stack and evolution principles
- 54:25Q&A
related talks
35mPrinciples of Evolutionary Architecture
53mEvolutionary Architecture: Principles and Patterns
42mBuilding Evolutionary Architectures: Principles and Practices
40mEvolutionary Architecture - The art of making decisions
01h 03mEvolutionary Software Architectures
49mThe Principles of Evolutionary Architecture
37mKeynote The Evolution of Evolutionary Architecture
39mPrinciples of Evolutionary Architecture
