9 Beyond Code
This chapter covers: - Communication: Core concepts to improve collaboration and communication. - Cognitive biases: Patterns in our thinking that can silently distort decisions. - Critical thinking: Tools and attitudes to reason more clearly and creatively. - Knowledge management: Systems to capture and reuse what we learn. - Mindset: Habits and beliefs that support a sustainable, healthy career.
9.1 Communication
In this section, we will explore patterns and techniques to ask for help effectively and write clearer technical content.
9.1.1 The XY Problem
The XY problem is a common communication pitfall where someone is asking about an attempted solution (Y) instead of the actual problem they’re trying to solve (X).
Here’s how it typically plays out:
- We face a problem X.
- We don’t know how to solve X, so we’re trying to get a working solution Y.
- Y doesn’t work, so we’re asking for help with Y.
- Helpers focus on Y, but because Y might not make sense or isn’t the right approach, they struggle to help.
- After many back-and-forths, helpers realize the real problem is X, and Y wasn’t a suitable solution.
The issue with the XY problem isn’t that we’re trying to solve X with Y. Instead, the issue arises when we ask about Y without including the context of X. The XY problem can lead to wasted time and effort trying to address a secondary problem and even frustration for the helpers.
Here’s an example of a less helpful way to ask for help: