The pragmatic nuts-and-bolts approach to creating systems. If you want to wonder, wonder this:
- Have you REALLY UNDERSTOOD every single word in the problem you are trying to solve?
- What is a good system diagram do?
- What does well-designed software look like?
- Why is pseudocode important to software development?
- What is clean code?
- What are right tests to use?