Computer Science, Software Engineering, and the Scientific Method
summary
Argues that software sits between engineering, science and art and that concrete improvements come from using scientific practice: double down on testing, isolate changes and run statistical benchmarks. Cites that NASA cuts defects to near zero only by massive manual review and order-of-magnitude cost increases, so the goal is cheaper rigour. Recommends tooling—unit tests, benchmarking, logging, Jenkins/GitHub CI, Python introspection and TDD—plus teaching software engineering as craft to improve estimates, composability and reproducible behaviour.
AI-written summary · about
chapters (29)
- 0:00Introduction
- 0:21Rackspace
- 0:34Python Software Foundation
- 1:09We are not developers
- 1:36A show of hands
- 2:18Three types of members
- 3:05Our goal
- 3:26Our work
- 4:09PyCon 2014
- 5:08Programming is a young profession
- 5:40Software is bugs
- 5:54Computers are terrible
- 6:51Moores Law
- 7:16Software Delivery
- 10:10Applied Science
- 11:40Science
- 13:32Epistemology
- 15:02Isolation
- 16:16Observing
- 16:53Testing
- 19:23Testdriven development
- 20:11Programming is like other industries
- 21:17Teaching programming
- 21:47Software engineering curriculum
- 23:57Please help me
- 24:27Chris Bosh
- 26:37Alex Hilder
- 35:19Tooling
- 37:49Design
related talks
45mTaking Back "Software Engineering"
42mwhy software development is an engineering discipline
35mCraft, Engineering, and the Essence of Programming
42mwhy software development is an engineering discipline
32mSoftware Craftsmanship
42mWhat our Brains can Teach us About Software Engineering
48mEngineering You
44mBehavioral Software Engineering
