How Senior Engineers Discover Problems Worth Solving
A staff engineer shares strategies for identifying what your team and organization should build.
1How I Discover Problems
As an engineer, instead of staring at a blank page to think strategically, I discover important problems by listening to and observing the challenges teams face in their daily workflows. I take notes on the issues people encounter and gradually connect the dots between them. This approach helps me understand what the team truly needs.
2The Power of Listening
I listen to people discussing their challenges in meetings, email threads, and chats. During this process, I try to understand the root causes. Users often request specific solutions without expressing their underlying problems. To uncover the real need, I ask probing questions.
3Observing the Team
When I suspect a problem is worth exploring, I observe the team's daily workflow. I work alongside them, participating in debugging processes. This hands-on approach helps me grasp their actual needs. I also communicate with cross-functional teams to identify issues across the organization.
4The Risks of Moving Too Fast
In the past, I quickly responded to a team's request and built a feature, only to see it go unused. Their priorities had shifted, or the request stemmed from a temporary need. This experience taught me the value of waiting to assess whether a problem is truly worth solving.
5The Benefits of Waiting
While listening, many problems accumulate, but I don't act immediately. Waiting allows me to see if the same issue arises repeatedly across different teams, increasing its priority. It also helps me recognize when seemingly different problems share a common root cause.
6Example: The Perfetto Tool
With Perfetto, a performance debugging tool I work on, teams kept requesting small UI improvements. Over time, these requests piled up, and I began noticing patterns. This led me to develop a more comprehensive solution. Waiting helped me identify the most critical problems.
7Tracking Problems
Some engineers systematically document the problems they encounter, while I prefer keeping them in mind. The key is tracking unresolved issues long enough for more evidence to accumulate, aiding in finding the right solution.
8Building Organizational Connections
By communicating with different teams, I aim to understand broader organizational challenges. 1:1 meetings with teams owning critical systems reveal how similar problems manifest in different areas, making my solutions more effective.
9Trusting My Instincts
Over time, I've learned to sense which problems are truly important. Recurring issues or those raised by multiple teams signal their significance. These instincts have guided me toward the most impactful projects in my career.
10Autonomy and Innovation
Engineers in large companies need autonomy to influence their roadmaps. This is harder in top-down environments, but listening and observing can still uncover organizational needs and drive innovative solutions.
11A Critical Skill for Career Growth
Senior engineers must go beyond completing assigned tasks and identify what the organization should build. This skill is crucial for those aiming to advance their careers. Listening, observing, and strategic thinking are its foundational elements.