I wish more software engineers remembered solving problems starts with asking good questions:
- How do we know this needs solving?
- How will we know when it's solved?
- Assuming we can get multiple hypotheses, how should we evaluate each one?
- What can we do to break the problem down in smaller parts?
- What's the shortest path in time to a solution?
- Why would we want to not try the shortest path?
- How can we share the conclusions in the most straightforward manner?
1/2