The pragmatic nuts-and-bolts approach to creating systems. If you want to wonder, wonder this:

  1. Have you REALLY UNDERSTOOD every single word in the problem you are trying to solve?
  2. What is a good system diagram do?
  3. What does well-designed software look like?
  4. Why is pseudocode important to software development?
  5. What is clean code?
  6. What are right tests to use?