How I Find Problems to Solve as a Staff Engineer

Aug 24, 2026 02:23 AM - 2 hours ago 3

Note: this station was revised aft publishing for accrued clarity, based on reader feedback.

“How do you find problems worthy moving on?” a elder technologist I mentor asked me recently. He’s trying to make the jump to unit technologist and realized that the role isn’t conscionable astir doing the activity he’s assigned. He besides needs to get involved successful figuring retired what his squad and org should beryllium building.

Someone other had suggested blocking retired clip successful his almanac to deliberation astir the bigger picture. He’d tried that, but hadn’t recovered it productive, truthful he asked if I had immoderate alternatives.

I told him I seldom find bully problems by staring astatine a blank page and trying to “think strategically.” Instead, I enactment for illustration a sponge. I perceive to the watercourse of day-to-day noise, sorb the problems group are having and fto them beryllium successful the back of my mind. Over time, immoderate slice distant while connections statesman to appear between others that initially seemed unrelated. Eventually, I commencement to see what’s really slowing group down and what my squad aliases I tin do astir it.

I’ve worked pinch galore engineers who’ve ne'er really tried this. They hold for managers aliases leads to place opportunities, past show their worth by solving the hardest assigned problems. That tin perfectly lead to promotion. But the projects that person made the biggest belief successful my profession were the ones wherever I recovered and solved an important problem my leaders did not yet realize existed.

One caveat: my acquisition comes chiefly from moving connected infrastructure and developer devices astatine ample companies, connected teams wherever engineers person a batch of bottom-up autonomy to power their roadmaps. In a much top-down environment, there whitethorn simply beryllium little room to activity this way.

Absorb problems, not requests#

People emotion talking astir the problems they are facing: successful meetings, chat threads, presentations and email. They explicate why their activity is hard, complain about what slows them down and picture what they wish they could do.

When thing overlaps pinch my area, I commencement pulling connected the thread. I might ask, “If X existed, would it lick your problem?” aliases constituent them astatine an existing feature successful a merchandise I ain and inquire really overmuch of their usage lawsuit it covers.

Users often ask for a peculiar solution instead of explaining their guidelines issue. Rather than taking the petition astatine face value, I support digging until I understand what they are trying to execute and why existing products do not activity for them.

As a earthy introvert, this benignant of ambient listening useful peculiarly well for me. I don’t request to capable my almanac pinch speculative meetings conscionable to find ideas; location is already an tremendous magnitude of useful accusation flowing around me during a normal week.

When a problem seems worthy exploring, though, I go much active; I request to see really it affects the team’s day-to-day work. I’ll beryllium pinch them arsenic they walk me done their workflows and the bugs they’re investigating. When I can, I’ll try moving done immoderate of those bugs myself. Seeing the problem firsthand makes it easier to abstracted what the squad really needs from the solution they asked for.

I besides activity retired group who spot much of the statement than I do: those who own critical systems, activity crossed respective teams aliases person peculiarly heavy insight into the activity downstream of my team. I’ll put a 1:1 aliases java chat and ask about absorbing problems they’ve travel across. They whitethorn person already seen the same rumor successful respective places and started connecting the dots, giving maine a head start connected patterns I mightiness different person taken overmuch longer to notice.

Let problems accumulate#

Several times, I’ve been burned by moving excessively fast. I became excited by a request from a vocal team, built the characteristic and watched them hardly usage it. Their priorities had changed, aliases the petition had travel from a one-off investigation that nary longer mattered. How eager a squad was successful that moment wasn’t the aforesaid arsenic really important the characteristic was comparative to everything other my product needed to support. By hyperfocusing connected their request, I mislaid show of the bigger picture.

That taught maine to fto imaginable problems heap up. Listening the measurement I do leaves me pinch acold much of them than I could perchance solve, and not each deserve action. Most don’t request to move into projects the first clip I perceive astir them; waiting tin beryllium a superpower.

Waiting intends the aforesaid problem mightiness popular up independently successful different teams, making it a higher privilege to solve. Or problems that look different connected the surface mightiness move retired to person the aforesaid shape, truthful I tin reside respective use cases successful 1 shot. Or, arsenic I’ve learned painfully, the requesting squad didn’t even attraction that overmuch successful the first place.

Instead, I make a intelligence statement and revisit the problem if it comes up again. Other engineers I cognize constitute this benignant of point down much systematically. The mechanism is simply a individual choice: everyone has to fig retired what useful for them. What matters is keeping unresolved problems astir agelong capable for much evidence to accumulate.

Find the communal shape#

Waiting helps maine cod evidence, but that unsocial doesn’t show maine what to build. I still request to activity retired whether the problems I’ve retained are genuinely related and what, if anything, could reside them together.

Perfetto, the capacity debugging instrumentality I activity on, is simply a bully example. It displays recordings of strategy activity connected a timeline made up of rows called “tracks.” Over a mates of years, teams kept asking for small, specific additions to the UI. One wanted a bid to support their preferred tracks pinned to the apical of the screen; the adjacent squad wanted the same, but for a completely different group of tracks. Others wanted Perfetto to unfastened already zoomed successful connected a particular portion of a recording, aliases to show a civilization aggregation tuned to what they cared about. A fewer had stopped waiting for america and built elaborate workarounds pinch bookmarklets.1

By the clip capable of these had piled up, my caput was the accustomed tangle: the requests themselves, the constraints connected each and a fistful of half-formed solutions. I’ve learned not to unit a solution by conscionable sitting astatine a table and thinking. Instead, my champion untangling happens connected long, aimless walks around London, wherever connections travel much easy erstwhile I’m not trying to unit them.

What I yet realized was that nary of these teams really wanted the specific characteristic they’d asked for. Each wanted to personalize Perfetto for their own workflow without imposing their choices connected everyone else. The underlying need wasn’t immoderate 1 characteristic but alternatively the expertise to widen the UI. When a connection for illustration that yet clicks, it’s 1 of the champion feelings successful the job: several awkward requests illness into a azygous idea, and possibilities unfastened up that nary of them hinted astatine connected their own.

That feeling, though, is precisely erstwhile I person to beryllium careful, because a common shape is only a presumption and elegance is not evidence. When it happened with extending the UI it turned retired to beryllium real, but I’ve been fooled before.

In different caller lawsuit I was convinced that building a transparent caching system for querying Perfetto traces would lick issues pinch sharing ample traces and repeated queries. It was only arsenic I wrote the RFC and built a prototype that I realized the elegance was a lie: the 2 problems wanted genuinely different solutions. I reluctantly divided the creation successful two, some halves of which have since shipped.2

Pressure-test earlier building#

You’d deliberation this would beryllium the infinitesimal I commencement building, but it usually isn’t. How far I spell depends connected really judge I americium that the thought useful and that group actually want it.

If thing is useful and low-risk enough, I enactment consecutive away: I nonstop the change and fto my head know. When I’m unsure whether an thought will activity aliases how much effort it will take, I build a throwaway prototype instead; it exposes the failure points and gives maine thing actual for others to respond to. And when an thought is large but I’m convinced by it, I perpetrate to the afloat effort: weeks or months of activity and the difficult yards of building support crossed different engineers and teams.

Through each of it, I’m not only trying to person different people; I’m besides trying to person myself. Sometimes the honorable reply is to stop: if group don’t see the worth I do, aliases we deed a awesome method wall, I’d alternatively driblet the thought now than build thing nary 1 uses aliases that becomes a attraction nightmare. And sometimes it holds up but the timing is wrong, truthful I parkland it, fresh to spring into action the time it becomes an org priority.

When an thought does clasp up, I don’t needfully request to beryllium the personification who builds it. I mightiness instrumentality it, personification other connected my squad might, aliases it mightiness alteration what the org focuses on. Finding and shaping the correct problem tin person an impact even erstwhile I don’t ain the implementation.

The Perfetto extensions thought was worthy that afloat effort. We were already building plugins to modularize the UI, but they weren’t enough: teams had to open root each their plugin code, which wasn’t an action for galore soul use cases. So earlier building thing new, I took the problem and my connection to my manager, teammates and the customer teams. I ended up penning 2 RFCs, having several 1:1s and giving a mates of talks, refining it arsenic the feedback came in.

In the end, I designed and implemented macros as “lightweight extensions”: a measurement to automate actions successful the UI without writing a plugin. Extension servers took the thought further by letting teams stock their macros.

Instead of implementing each requested characteristic ourselves, we gave teams ways to adapt Perfetto to their ain needs. Dozens of teams wrong Google now usage macros and hold servers, and respective different companies usage hold servers internally too.

Solving useful problems helps maine find the adjacent one#

The much often I spell done this process, the easier it becomes. When I show genuine liking successful someone’s problem, inquire useful questions aliases thief lick it, they remember. They commencement coming to maine earlier and bring maine into conversations with different group facing related issues.

That gives maine a wider position of what is happening crossed the organization, making it easier to spot patterns and build things group really need. Solving 1 of those problems brings maine into much conversations, and the loop continues.

Those successes build the benignant of spot that comes from long-term stewardship. Early on, I had to move galore of these ideas into thing existent myself to prove that my judgement was sound. Over time, my head and org gave much weight to my assessment of what mattered. That allowed maine to power the roadmap without needing to ain each project.

This differs from the thought that becoming a unit technologist intends replacing technical activity pinch meetings and coordination. For me, conversations are inputs into what I build, not the extremity result.

Conclusion#

That is what I wanted my mentee to understand: uncovering problems worthy solving isn’t abstracted from the remainder of the job. It comes from staying engaged with people’s activity agelong capable to spot what nary azygous petition tin show you.

More