Curiosity is the first-step in problem solving.
Despite my best efforts, I have been wrong a lot over the years. I’ve been wrong about technology patterns (in 2014, I thought microservices would take over the world), I’ve been wrong about management techniques (I used to think systems thinking was the ultimate technique, but I’ve seen so many mistakes rooted in over-reliance on systems thinking), and a bunch of other stuff as well.
Early on, I spent a lot of time thinking about how to be wrong less frequently. That’s a noble endeavor, and one I still aim to improve at today. However, a lot of the problems you encounter later in your career are deeply ambiguous, and it simply isn’t possible to eliminate bad outcomes. Some examples of this are:
- Hiring is always a probabilistic endeavor. Even the best hires can struggle in a given company/role or have a life-changing event that leads to poor fit
- The 2020 pandemic broke many business models that were doing extremely well before then. Similarly, many companies overindexed on the shifts online driven by the pandemic, overhiring in ways that resulted in significant long-term harm to those companies
- Pursuing data locality for your product: there’s always a cost or capability consequence when you shard your data model more finely across geopolitical regions, and geopolitical regions shift frequently and surprisingly. No matter how accurate your original guess is about the next two years of data locality changes, you will be wrong if you’re operating in enough countries
In every one of those examples, you know upfront that you simply don’t have all the information you’d like to have, and still need to make a decision to move forward. As a result, these days I spend far more time thinking about how to make being wrong cheap rather than how to avoid being wrong.
Of everything I’ve tried, demonstrating curiosity is consistently the best technique I’ve found to reduce the cost of being wrong. These days, if I regret being wrong about something, it’s almost always because I engaged in problem solving before exercising curiosity. I feel this so strongly that “curiosity is the first step of problem solving” has become a steadfast engineering value in the organizations that I lead.
Some examples of demonstrating curiosity well and poorly:
Someone thinks we shouldn’t hire someone that I’ve worked with closely.
(Bad) Assume they are wrong.
(Good) Explain your mental model of why you think the candidate would work well, and ask them where they do or don’t agree with that mental model.
(Best) Spend time upfront aligning with interviewers on the specific fit you’re focused on for this specific role.
Someone is asking for help logging into an internal dashboard where the internal login steps are extensively documented in your internal wiki.
(Bad) Get slightly snippy with them about not reading the documentation.
(Good) Ask them if they are running into something that isn’t covered by the documentation.
(Best) Replace this with a chat bot that uses the (Good) approach automatically instead of having a human do this.
Someone proposes introducing a new programming language for your internal stack.
(Bad) Tell them that they need to follow the existing architecture document.
(Good) Mention that this seems in conflict with the current architecture doc, and ask them how they’re thinking about that conflict.
(Best) Make sure new-hire onboarding includes links to those materials, and create an LLM-driven RFC reviewer that directs RFC writers to existing materials they should reference in their RFC.
Someone doesn’t show up for an incident that they are on-call for.
(Bad) Tell them they failed to meet on-call expectations.
(Good) Ask them what happened that led them to missing their on-call expectations.
(Best) Create automation to ensure folks going on-call are notified ahead of time, and to detect anyone going on-call whose notification mechanisms aren’t appropriately configured.
In each of these cases, showing curiosity is not about being unwilling to hold folks accountable, and it’s not about consensus-based decision making. Instead, it’s starting each discussion by leaving space for the chance that you’re missing important information. Often you’re not missing information, and then the next step is to hold folks accountable, but demonstrating curiosity helps you avoid applying accountability without context, which damages relationships without providing any benefit.