Yeah for scientific computing specifically i was more expecting to see concerns like ensuring intermediate working state is persisted to a durable medium and facilitating restarting from a working state "dump" instead of from the top each time.
The patterns he pointed out were:
1. Use version control.
2. Separate code from data.
3. Separate input data, working data and output data.
4. Modify input data with care.
5. Save everything to disk frequently.
6. Separate options from parameters.
7. Do not use global variables.
8. Record the options used to generate each run of the algorithm.
9. Make it easy to sweep options.
10. Make it easy to execute only portions of the code.
11. Use checkpointing.
12. Write demos and tests.
EDIT: Added list of patterns, formatting.