Software Engineering
Building systems that other people will have to maintain.
14 topics · 3 curated works
Topics
- 01Software Architecture
- 02Design Patterns
- 03Testing & Test Strategy
- 04Debugging
- 05Version Control
- 06Continuous Integration & Delivery
- 07Code Review
- 08Refactoring
- 09Technical Debt
- 10Requirements Engineering
- 11Agile & Development Process
- 12Site Reliability Engineering
- 13Performance Engineering
- 14Legacy System Modernisation
Curated reading
3Start here
No prior grounding assumed.
- BookThe Mythical Man-MonthFrederick P. Brooks Jr., 1975
Adding people to a late software project makes it later, because communication cost grows quadratically.
Then
Assumes you know the vocabulary.
- EssayNo Silver Bullet: Essence and Accidents of Software EngineeringFrederick P. Brooks Jr., 1986
Software's essential complexity cannot be removed by tooling, so no single technique will deliver an order-of-magnitude gain.
- PaperOut of the Tar PitBen Moseley & Peter Marks, 2006· 66 pages
Complexity is the single greatest source of software failure, and most of it is accidental state that could be designed away.