Yesterday, I wrote about how developers are often tempted to zoom into the details of a problem. However, zooming out to see the context & wider business priorities is a highly-valuable & underappreciated skill. It's one that sets great developers apart.
How do you actually practice zooming out? It's a skill that comes with experience. But here are a few questions that might help:
- Is the problem I'm solving right now really the symptom of a larger problem?
- Is there a missing process for me/my team that would make my current task irrelevant?
- How does my current task produce value for my company, my team, or our customers?
- If I could approach this entire problem again from scratch, knowing what I know now, would I build the solution the same way?
- What would this task look like if it were easy? Is there a smaller effort I could do to get 80% of the benefit?
- Will adding this code make my teams' lives easier or add friction/frustration?
- What piece of data could I measure first, before I build this feature, to see if it'd be useful?
- Are we ignoring technical debt or bad design decisions that are slowing us down?
- Who will thank me for the thing I'm currently doing & how excited will they be?
- Am I solving a long-term problem for the company/our customers, or am I creating a short-term solution that we won't be using in a year or two?
- Have we over-complicated things?
- What's the opportunity-cost of doing this versus our other priorities?
Zooming out is a habit & a skill that you get better at over time. Keep asking yourself these questions (and other variations). You'll be surprised how often there's a simpler, smaller, orthogonal, or totally different solution that makes more sense.
P.S. - What did I miss? Do you have questions that you ask to help zoom out?