Generic vs Concrete software design
Inspired by You can't design software you don't work on
Generic Concrete software designin the trade-off explorer →
What worked for others in other scenarios might not work for you.
Concrete system design discussions are best done by the people involved in working in the system. It'll be more specific.
This is why the "architect" role is not that good, because their role is to create generic system design. Sean goes as far as:
architects can both claim credit for successes (after all, it was their design) and disclaim failures (if only those fools had followed my design!)
Generic system design is helpful for:
- new systems
- tie-breaking between decisions for existing systems
Sources
- You can't design software you don't work on inspired this note
Referenced by
- System Design interviewEstablished
Allocate specific time slots: 5m for requirements, 20m for high-level design, 15m for deep dive, and 5m for wrapping up. Define requirements and use cases. functional requirements first, and non-functional requirements if…