<?xml version="1.0" encoding="utf-8" standalone="yes"?><?xml-stylesheet href="/feed.css?v=208f42b55cff" type="text/css"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:site="https://lalitm.com/feed/ns#"><channel><title>Lalit Maganti (Tag: Big-Tech)</title><link>https://lalitm.com/tags/big-tech/</link><description>Recent content tagged Big-Tech on Lalit Maganti</description><site:notice>This is a feed.
Feeds let you subscribe to updates from this site using a feed reader. Copy this page's URL from your address bar and paste it into your reader.
New to feeds? Read: https://aboutfeeds.com</site:notice><docs>https://aboutfeeds.com</docs><generator>Hugo -- gohugo.io</generator><language>en</language><lastBuildDate>Sat, 25 Jul 2026 14:55:00 +0100</lastBuildDate><atom:link href="https://lalitm.com/tags/big-tech/index.xml" rel="self" type="application/rss+xml"/><item><title>How I Find Problems to Solve as a Staff Engineer</title><link>https://lalitm.com/post/find-problems-staff-engineer/</link><pubDate>Sat, 25 Jul 2026 14:55:00 +0100</pubDate><guid>https://lalitm.com/post/find-problems-staff-engineer/</guid><description>Note: this post was revised after publishing for increased clarity, based on reader feedback.
“How do you find problems worth working on?” a senior engineer I mentor asked me recently. He’s trying to make the jump to staff engineer and realized that the role isn’t just about doing the work he’s assigned. He also needs to get involved in figuring out what his team and org should be building.
Someone else had suggested blocking out time in his calendar to think about the bigger picture. He’d tried that, but hadn’t found it productive, so he asked if I had any alternatives.
I told him I rarely find good problems by staring at a blank page and trying to “think strategically.” Instead, I act like a sponge. I listen to the stream of day-to-day noise, absorb the problems people are having and let them sit in the back of my mind. Over time, some fade away while connections begin to appear between others that initially seemed unrelated. Eventually, I start to see what’s really slowing people down and what my team or I can do about it.</description><content:encoded>&lt;p&gt;&lt;em&gt;Note: this post was revised after publishing for increased clarity, based on
reader feedback&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;“How do you find problems worth working on?” a senior engineer I mentor asked me
recently. He&amp;rsquo;s trying to make the jump to staff engineer and realized that the
role isn&amp;rsquo;t just about doing the work he&amp;rsquo;s assigned. He also needs to get
involved in figuring out what his team and org should be building.&lt;/p&gt;
&lt;p&gt;Someone else had suggested blocking out time in his calendar to think about the
bigger picture. He&amp;rsquo;d tried that, but hadn&amp;rsquo;t found it productive, so he asked if
I had any alternatives.&lt;/p&gt;
&lt;p&gt;I told him I rarely find good problems by staring at a blank page and trying to
“think strategically.” Instead, I act like a sponge. I listen to the stream of
day-to-day noise, absorb the problems people are having and let them sit in the
back of my mind. Over time, some fade away while connections begin to appear
between others that initially seemed unrelated. Eventually, I start to see
what&amp;rsquo;s &lt;em&gt;really&lt;/em&gt; slowing people down and what my team or I can do about it.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve worked with many engineers who&amp;rsquo;ve never really tried this. They wait for
managers or leads to identify opportunities, then demonstrate their value by
solving the hardest assigned problems. That can absolutely lead to promotion.
But the projects that have made the biggest impression in my career were the
ones where I found and solved an important problem my leaders did not yet
realize existed.&lt;/p&gt;
&lt;p&gt;One caveat: my experience comes mainly from working on infrastructure and
developer tools at large companies, on teams where engineers have a lot of
bottom-up autonomy to influence their roadmaps. In a more top-down environment,
there may simply be less room to work this way.&lt;/p&gt;
&lt;h2 id="absorb-problems-not-requests"&gt;Absorb problems, not requests&lt;a class="heading-anchor" href="#absorb-problems-not-requests" aria-label="Permalink to Absorb problems, not requests"&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;People love talking about the problems they are facing: in meetings, chat
threads, presentations and email. They explain why their work is hard, complain
about what slows them down and describe what they wish they could do.&lt;/p&gt;
&lt;p&gt;When something overlaps with my area, I start pulling on the thread. I might
ask, “If X existed, would it solve your problem?” or point them at an existing
feature in a product I own and ask how much of their use case it covers.&lt;/p&gt;
&lt;p&gt;Users often
&lt;a href="https://lalitm.com/post/dont-answer-the-first-question/"&gt;ask for a particular solution&lt;/a&gt;
instead of explaining their root issue. Rather than taking the request at face
value, I keep digging until I understand what they are trying to accomplish and
why existing products do not work for them.&lt;/p&gt;
&lt;p&gt;As a natural introvert, this sort of ambient listening works particularly well
for me. I don&amp;rsquo;t need to fill my calendar with speculative meetings just to find
ideas; there is already an enormous amount of useful information flowing around
me during a normal week.&lt;/p&gt;
&lt;p&gt;When a problem seems worth exploring, though, I become more active; I need to
see how it affects the team&amp;rsquo;s day-to-day work. I&amp;rsquo;ll sit with them as they walk
me through their workflows and the bugs they&amp;rsquo;re investigating. When I can, I&amp;rsquo;ll
try working through some of those bugs myself. Seeing the problem firsthand
makes it easier to separate what the team actually needs from the solution they
asked for.&lt;/p&gt;
&lt;p&gt;I also seek out people who see more of the organization than I do: those who own
critical systems, work across several teams or have particularly deep insight
into the work downstream of my team. I&amp;rsquo;ll arrange a 1:1 or coffee chat and ask
about interesting problems they&amp;rsquo;ve come across. They may have already seen the
same issue in several places and started connecting the dots, giving me a head
start on patterns I might otherwise have taken much longer to notice.&lt;/p&gt;
&lt;h2 id="let-problems-accumulate"&gt;Let problems accumulate&lt;a class="heading-anchor" href="#let-problems-accumulate" aria-label="Permalink to Let problems accumulate"&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Several times, I&amp;rsquo;ve been burned by moving too fast. I became excited by a
request from a vocal team, built the feature and watched them barely use it.
Their priorities had changed, or the request had come from a one-off
investigation that no longer mattered. How eager a team was in that moment
wasn&amp;rsquo;t the same as how important the feature was relative to everything else my
product needed to support. By hyperfocusing on their request, I lost sight of
the bigger picture.&lt;/p&gt;
&lt;p&gt;That taught me to let potential problems pile up. Listening the way I do leaves
me with far more of them than I could possibly solve, and not all deserve
action. Most don&amp;rsquo;t need to turn into projects the first time I hear about them;
waiting can be a superpower.&lt;/p&gt;
&lt;p&gt;Waiting means the same problem might pop up independently in different teams,
making it a higher priority to solve. Or problems that look different on the
surface might turn out to have the same shape, so I can address several use
cases in one shot. Or, as I&amp;rsquo;ve learned painfully, the requesting team didn&amp;rsquo;t
even care that much in the first place.&lt;/p&gt;
&lt;p&gt;Instead, I make a mental note and revisit the problem if it comes up again.
Other engineers I know write this sort of thing down more systematically. The
mechanism is a personal choice: everyone has to figure out what works for them.
What matters is keeping unresolved problems around long enough for more evidence
to accumulate.&lt;/p&gt;
&lt;h2 id="find-the-common-shape"&gt;Find the common shape&lt;a class="heading-anchor" href="#find-the-common-shape" aria-label="Permalink to Find the common shape"&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Waiting helps me collect evidence, but that alone doesn&amp;rsquo;t tell me what to build.
I still need to work out whether the problems I&amp;rsquo;ve retained are genuinely
related and what, if anything, could address them together.&lt;/p&gt;
&lt;p&gt;Perfetto, the performance debugging tool I work on, is a good example. It
displays recordings of system activity on a timeline made up of rows called
“tracks.” Over a couple of years, teams kept asking for small, specific
additions to the UI. One wanted a command to keep their preferred tracks pinned
to the top of the screen; the next team wanted the same, but for a completely
different set of tracks. Others wanted Perfetto to open already zoomed in on a
particular part of a recording, or to show a custom aggregation tuned to what
they cared about. A few had stopped waiting for us and built elaborate
workarounds with bookmarklets.&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;By the time enough of these had piled up, my head was the usual tangle: the
requests themselves, the constraints on each and a handful of half-formed
solutions. I&amp;rsquo;ve learned not to force a solution by just sitting at a desk and
thinking. Instead, my best untangling happens on long, aimless walks around
London, where connections come more easily when I&amp;rsquo;m not trying to force them.&lt;/p&gt;
&lt;p&gt;What I eventually realized was that none of these teams really wanted the
specific feature they&amp;rsquo;d asked for. Each wanted to personalize Perfetto for their
own workflow without imposing their choices on everyone else. The underlying
need wasn&amp;rsquo;t any one feature but rather the ability to extend the UI. When a
connection like that finally clicks, it&amp;rsquo;s one of the best feelings in the job:
several awkward requests collapse into a single idea, and possibilities open up
that none of them hinted at on their own.&lt;/p&gt;
&lt;p&gt;That feeling, though, is exactly when I have to be careful, because a common
shape is only a hypothesis and elegance is not evidence. When it happened with
extending the UI it turned out to be real, but I&amp;rsquo;ve been fooled before.&lt;/p&gt;
&lt;p&gt;In another recent case I was convinced that building a transparent caching
system for querying Perfetto traces would solve issues with sharing large traces
and repeated queries. It was only as I wrote the RFC and built a prototype that
I realized the elegance was a lie: the two problems wanted genuinely different
solutions. I reluctantly split the design in two, both halves of which have
since shipped.&lt;sup id="fnref:2"&gt;&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref"&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;h2 id="pressure-test-before-building"&gt;Pressure-test before building&lt;a class="heading-anchor" href="#pressure-test-before-building" aria-label="Permalink to Pressure-test before building"&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;You&amp;rsquo;d think this would be the moment I start building, but it usually isn&amp;rsquo;t. How
far I go depends on how sure I am that the idea works and that people actually
want it.&lt;/p&gt;
&lt;p&gt;If something is useful and low-risk enough, I act straight away: I send the
change and let my manager know. When I&amp;rsquo;m unsure whether an idea will work or how
much effort it will take, I build a throwaway prototype instead; it exposes the
failure points and gives me something concrete for others to react to. And when
an idea is big but I&amp;rsquo;m convinced by it, I commit to the full effort: weeks or
months of work and the hard yards of building support across other engineers and
teams.&lt;/p&gt;
&lt;p&gt;Through all of it, I&amp;rsquo;m not only trying to convince other people; I&amp;rsquo;m also trying
to convince myself. Sometimes the honest answer is to stop: if people don&amp;rsquo;t see
the value I do, or we hit a major technical wall, I&amp;rsquo;d rather drop the idea now
than build something no one uses or that becomes a maintenance nightmare. And
sometimes it holds up but the timing is wrong, so I park it, ready to spring
into action the day it becomes an org priority.&lt;/p&gt;
&lt;p&gt;When an idea does hold up, I don&amp;rsquo;t necessarily need to be the person who builds
it. I might implement it, someone else on my team might, or it might change what
the org focuses on. Finding and shaping the right problem can have an impact
even when I don&amp;rsquo;t own the implementation.&lt;/p&gt;
&lt;p&gt;The Perfetto extensions idea was worth that full effort. We were already
building plugins to modularize the UI, but they weren&amp;rsquo;t enough: teams had to
open source all their plugin code, which wasn&amp;rsquo;t an option for many internal use
cases. So before building anything new, I took the problem and my proposal to my
manager, teammates and the client teams. I ended up writing two RFCs, having
several 1:1s and giving a couple of talks, refining it as the feedback came in.&lt;/p&gt;
&lt;p&gt;In the end, I designed and implemented
&lt;a href="https://perfetto.dev/docs/visualization/ui-automation#creating-macros"&gt;macros&lt;/a&gt;
as “lightweight extensions”: a way to automate actions in the UI without writing
a plugin.
&lt;a href="https://perfetto.dev/docs/visualization/extension-servers"&gt;Extension servers&lt;/a&gt;
took the idea further by letting teams share their macros.&lt;/p&gt;
&lt;p&gt;Instead of implementing every requested feature ourselves, we gave teams ways to
adapt Perfetto to their own needs. Dozens of teams inside Google now use macros
and extension servers, and several other companies use extension servers
internally too.&lt;/p&gt;
&lt;h2 id="solving-useful-problems-helps-me-find-the-next-one"&gt;Solving useful problems helps me find the next one&lt;a class="heading-anchor" href="#solving-useful-problems-helps-me-find-the-next-one" aria-label="Permalink to Solving useful problems helps me find the next one"&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;The more often I go through this process, the easier it becomes. When I show
genuine interest in someone’s problem, ask useful questions or help solve it,
they remember. They start coming to me earlier and bring me into conversations
with other people facing related issues.&lt;/p&gt;
&lt;p&gt;That gives me a wider view of what is happening across the organization, making
it easier to spot patterns and build things people actually need. Solving one of
those problems brings me into more conversations, and the loop continues.&lt;/p&gt;
&lt;p&gt;Those successes build the kind of trust that comes from
&lt;a href="https://lalitm.com/software-engineering-outside-the-spotlight/"&gt;long-term stewardship&lt;/a&gt;.
Early on, I had to turn many of these ideas into something real myself to prove
that my judgment was sound. Over time, my manager and org gave more weight to my
assessment of what mattered. That allowed me to influence the roadmap without
needing to own every project.&lt;/p&gt;
&lt;p&gt;This differs from the idea that becoming a staff engineer means replacing
technical work with meetings and coordination. For me, conversations are inputs
into what I build, not the end result.&lt;/p&gt;
&lt;h2 id="conclusion"&gt;Conclusion&lt;a class="heading-anchor" href="#conclusion" aria-label="Permalink to Conclusion"&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;That is what I wanted my mentee to understand: finding problems worth solving
isn&amp;rsquo;t separate from the rest of the job. It comes from staying engaged with
people&amp;rsquo;s work long enough to see what no single request can show you.&lt;/p&gt;
&lt;div class="footnotes" role="doc-endnotes"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:1"&gt;
&lt;p&gt;These workarounds used bookmarklets to run JavaScript against Perfetto&amp;rsquo;s
internal UI APIs.&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:2"&gt;
&lt;p&gt;The original &lt;a href="https://github.com/google/perfetto/discussions/4960"&gt;proposal&lt;/a&gt;
was to use a transparent cache for repeated queries and faster reopening of
large traces. As I worked through it, I realized repeated queries were
better served by keeping sessions warm in memory, whereas reopening was
better served by explicitly exporting a trace into a format designed to load
quickly. A transparent disk cache could also retain multi-gigabyte files
without the user realizing and would need a new system to manage their
lifetime. The proposal was ultimately replaced by
&lt;a href="https://github.com/google/perfetto/blob/rfcs/0031-trace-processor-warm-sessions.md"&gt;warm sessions&lt;/a&gt;
and &lt;a href="https://github.com/google/perfetto/pull/6839"&gt;streaming table export&lt;/a&gt;.&amp;#160;&lt;a href="#fnref:2" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content:encoded></item><item><title>Why Senior Engineers Let Bad Projects Fail</title><link>https://lalitm.com/post/why-senior-engineers-let-bad-projects-fail/</link><pubDate>Tue, 13 Jan 2026 10:48:00 +0000</pubDate><guid>https://lalitm.com/post/why-senior-engineers-let-bad-projects-fail/</guid><description>When I was a junior engineer, my manager would occasionally confide his frustrations to me in our weekly 1:1s. He would point out a project another team was working on and say, “I don’t believe that project will go anywhere, they’re solving the wrong problem.” I used to wonder, “But you are very senior, why don’t you just go and speak to them about your concerns?” It felt like a waste of his influence to not say anything.
So it’s quite ironic that I found myself last week explaining to a mentee why I thought a sister team’s project would have to pivot because they’d made a poor early design choice. And he rightfully asked me the same question I had years ago: “why don’t you just tell them your opinion?” It’s been on my mind ever since because I realized I’d changed my stance on it a lot over the years.</description><content:encoded>&lt;p&gt;When I was a junior engineer, my manager would occasionally confide his frustrations to me in our weekly 1:1s. He would point out a project another team was working on and say, &amp;ldquo;I don&amp;rsquo;t believe that project will go anywhere, they&amp;rsquo;re solving the wrong problem.&amp;rdquo; I used to wonder, &amp;ldquo;But you are very senior, why don&amp;rsquo;t you just go and speak to them about your concerns?&amp;rdquo; It felt like a waste of his influence to not say anything.&lt;/p&gt;
&lt;p&gt;So it&amp;rsquo;s quite ironic that I found myself last week explaining to a mentee why I thought a sister team&amp;rsquo;s project would have to pivot because they&amp;rsquo;d made a poor early design choice. And he rightfully asked me the same question I had years ago: &amp;ldquo;why don&amp;rsquo;t you just tell them your opinion?&amp;rdquo; It’s been on my mind ever since because I realized I’d changed my stance on it a lot over the years.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The answer is that being right and being effective are different.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In large companies, speaking up about what you see as a &amp;ldquo;bad project&amp;rdquo; is a good thing. But only in moderation. Sometimes the mark of seniority is realizing that arguing with people who won’t listen isn’t worth it; it’s better to save your counsel.&lt;/p&gt;
&lt;h2 id="bad-projects"&gt;Bad projects&lt;a class="heading-anchor" href="#bad-projects" aria-label="Permalink to Bad projects"&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;What I mean by a &amp;ldquo;bad project&amp;rdquo; is many things:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;UX&lt;/strong&gt;: making product complicated, solving a problem which doesn&amp;rsquo;t exist, breaking existing workflows&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Technical&lt;/strong&gt;: overcomplicated design, wrong library, poor performing architecture&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Political&lt;/strong&gt;: chasing hype cycles, exists primarily to justify a promotion&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;It&amp;rsquo;s important to point out that for much of the lifecycle of a project, whether it&amp;rsquo;s &amp;ldquo;bad&amp;rdquo; is &lt;em&gt;highly&lt;/em&gt; subjective. Software engineering is largely a game of tradeoffs and making decisions which are not perfect but the best possible with the information available. There often can be disagreements on whether correct choices are made and it only becomes obvious much later on, potentially years after a project has shipped.&lt;/p&gt;
&lt;p&gt;But as you become more senior, you&amp;rsquo;ll start to have &amp;ldquo;taste&amp;rdquo; when it comes to software projects and that will cause you to look at some fraction of the software projects and feel &amp;ldquo;this doesn&amp;rsquo;t make sense&amp;rdquo;. And this gut feeling is the sign to me of a &amp;ldquo;bad project&amp;rdquo;, one which you can see in advance of when it&amp;rsquo;s obvious to everyone.&lt;/p&gt;
&lt;p&gt;Drawing on my personal experience, the most memorable example was a few years ago at Google . There was a high-profile announcement internally of a &amp;ldquo;game changer&amp;rdquo; project that sat right at the intersection of two extremely large organizations. It was technically amazing and elegant, and full of clever ideas for really hard problems.&lt;/p&gt;
&lt;p&gt;But I distinctly remember sitting in the room for the announcement, turning to my lead and whispering, &amp;ldquo;This project has no chance of succeeding, right?&amp;rdquo; He turned to me and just said, &amp;ldquo;Yup.&amp;rdquo; We both realized the problem immediately. The project was entirely based on a platform team asking a flagship product team to give up control of their core user flow: technically the right move, but no lead or PM would ever cede ownership of something that central to another team. Politically, this project was a total fantasy.&lt;/p&gt;
&lt;p&gt;The project kept quietly chugging away in the background for almost two years. Every time it got close to launch, it would get pushed back as &amp;ldquo;not ready yet.&amp;rdquo; Over time, we heard less and less about it until, eventually, the inevitable &amp;ldquo;strategic pivot&amp;rdquo; email appeared in my inbox. Resources were reallocated and the code was deleted. We were told the company &amp;ldquo;learned a lot from the effort,&amp;rdquo; but to me it felt like it was doomed from the beginning. Politics and solving the correct problem matter just as much as technical beauty.&lt;/p&gt;
&lt;h2 id="why-you-cannot-stop-them-all"&gt;Why you cannot stop them all&lt;a class="heading-anchor" href="#why-you-cannot-stop-them-all" aria-label="Permalink to Why you cannot stop them all"&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;When I started noticing &amp;ldquo;bad projects&amp;rdquo; and I felt that I had some expertise to share, the temptation for me was to start calling them out. Reach out to the team doing it, tell them &amp;ldquo;this doesn&amp;rsquo;t make sense&amp;rdquo; and explain to them why. Use facts and logic to persuade.&lt;/p&gt;
&lt;p&gt;And I did do this. But only for a very short time before I realized that there are a lot of costs to doing this that I just wasn&amp;rsquo;t thinking about.&lt;/p&gt;
&lt;p&gt;Firstly, software companies have an inherent bias for action. They value speed and shipping highly. Concerns, by definition, &lt;em&gt;slow things down&lt;/em&gt; and mean people have to look at things which they hadn&amp;rsquo;t budgeted for. And so unless your concern is big enough to overcome the &amp;ldquo;push for landing&amp;rdquo;, there&amp;rsquo;s little chance for any meaningful change to come from you saying something. In fact, it&amp;rsquo;s very likely that you&amp;rsquo;ll be largely ignored.&lt;/p&gt;
&lt;p&gt;Related to this, even if the team &lt;em&gt;does&lt;/em&gt; take your concern seriously, you have to be careful not to do it too often. Once or twice, you might be seen as someone who is upholding &amp;ldquo;quality&amp;rdquo;. But do it too often and you quickly move to being seen as a &amp;ldquo;negative person&amp;rdquo;, someone who is constantly a problem maker, not a problem &amp;ldquo;fixer&amp;rdquo;. You rarely get credit for the disasters you prevented. Because nothing happened, people forget about it quickly.&lt;/p&gt;
&lt;p&gt;There&amp;rsquo;s also the problem that every time you push back, you are potentially harming someone’s promotion packet or a VP’s &amp;ldquo;pet project.&amp;rdquo; You are at risk of burning bridges and creating &amp;ldquo;enemies&amp;rdquo;, at least of a sort. Having a few people who disagree in a big company with you is the cost of doing business, but if you have too many, it starts affecting your main work too.&lt;/p&gt;
&lt;p&gt;Finally, there is also the psychological impact. There is one of you and hundreds of engineers working in spaces that your expertise might help with. Your attention is finite, but the capacity for a large company to generate bad ideas is infinite. Speaking from experience, getting too involved in stopping these quickly can make you &lt;em&gt;very&lt;/em&gt; cynical about the state of the world. And this is really not a good place to be.&lt;/p&gt;
&lt;h2 id="manage-influence-like-a-bank-account"&gt;Manage influence like a bank account&lt;a class="heading-anchor" href="#manage-influence-like-a-bank-account" aria-label="Permalink to Manage influence like a bank account"&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;So if you cannot stop all the bad projects, what do you do? You get strategic. Instead of trying to fix everything, view your influence as a bank account. You have a certain amount of &amp;ldquo;influence&amp;rdquo; coming in every month as you do your job, help people, ship successful projects, and generally remain low friction.&lt;/p&gt;
&lt;p&gt;Then, when it matters, you should be ready to make &amp;ldquo;withdrawals.&amp;rdquo; Every time you block something or raise concerns, no matter how small, you are writing a check against your balance. But not all checks are the same size:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;The $5 Check:&lt;/strong&gt; A nitpick on a code review. Cheap, daily expense.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;The $500 Check:&lt;/strong&gt; Challenging an architectural decision or pushing back on a timeline. Requires some savings.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;The $50,000 Check:&lt;/strong&gt; Trying to kill a VP&amp;rsquo;s pet project. This is a massive spend. You might only afford this once every few years.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The problem comes if you spend $5 on every minor inefficiency you see. If you are constantly saying &amp;ldquo;no&amp;rdquo; to small things, your account will be empty when you need to write the big check to stop a true disaster.&lt;/p&gt;
&lt;p&gt;If you &amp;ldquo;go overdrawn,&amp;rdquo; you enter political bankruptcy. People stop inviting you to meetings, they stop asking for your opinion, they essentially start working around you. Once you are bankrupt, your influence drops to zero and you not only harm your ability to influence things but also start hurting your own ability to get things done.&lt;/p&gt;
&lt;h2 id="when-to-spend-influence"&gt;When to spend influence&lt;a class="heading-anchor" href="#when-to-spend-influence" aria-label="Permalink to When to spend influence"&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Given that we&amp;rsquo;ve now accepted that we cannot weigh in on everything, we need to figure out when it &lt;em&gt;does&lt;/em&gt; make sense to do so.&lt;/p&gt;
&lt;p&gt;The most important thing to do first is to be humble and evaluate whether you actually have the expertise to make a judgment. Seniority often brings opinions, but those are not always informed opinions. For example, while I have some frontend experience, I do not feel qualified to give deep advice on it because my knowledge is &amp;ldquo;enough to get by&amp;rdquo; rather than deep expertise that comes from long term ownership. It is easy to lose sight of the fact that high-quality judgments require informed opinions. If you find yourself in this position, see yourself as an opinionated observer and stop there.&lt;/p&gt;
&lt;p&gt;You must also internalize the fact that just because you say something does not make it the truth. You are raising awareness of a point of view, not issuing a decree. So if some team doesn&amp;rsquo;t listen to your concerns and decides to go ahead with what they were doing anyway, then you have to accept that and move on: at the end of the day, you&amp;rsquo;re an engineer, not a CEO with authority over them!&lt;/p&gt;
&lt;p&gt;Given these points, I use three main factors to decide when to speak up:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;How close is the project to my team?&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;If it goes wrong, how much impact will it have on my team?&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;If it goes wrong, how big will the problem be for the company?&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Proximity.&lt;/strong&gt; If a project is close to you, the &amp;ldquo;price tag&amp;rdquo; of saying something is lower. If it is within your own team, the cost is near zero because you have high trust and a quick conversation often solves it. If it is in your broader organization, the price goes up; you have to spend social capital and potentially stake your reputation. If it is outside your org? The cost is often prohibitive. You have zero leverage, different reporting chains, and stopping it would require a massive withdrawal.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Team Impact.&lt;/strong&gt; Sometimes another org does something that deeply affects your work. For example, because &lt;a href="https://perfetto.dev/"&gt;Perfetto&lt;/a&gt; (the performance tool I work on) has users throughout Google, sometimes a team will ask us to sign off on a very complex integration. This is a classic risk: if things go right, they get the credit, but if things go wrong, your leadership might expect &lt;em&gt;you&lt;/em&gt; to help solve a problem you didn&amp;rsquo;t create. In these cases, the payoff of speaking up is high because you are protecting your team.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Company Scale.&lt;/strong&gt; Finally, consider the blast radius. Some projects are self-contained; if they fail, they only take themselves down. Others are so intertwined with core systems that their failure causes widespread damage or creates technical debt that persists for years. These can be deadly to the long-term health of a project.&lt;/p&gt;
&lt;h2 id="how-to-act-with-bad-projects"&gt;How to act with bad projects&lt;a class="heading-anchor" href="#how-to-act-with-bad-projects" aria-label="Permalink to How to act with bad projects"&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;It&amp;rsquo;s also not just about when you put your opinions forward but how you do it. There&amp;rsquo;s a very wide range of actions you can take depending on what you&amp;rsquo;re facing.&lt;/p&gt;
&lt;h3 id="when-you-intervene"&gt;When you intervene&lt;a class="heading-anchor" href="#when-you-intervene" aria-label="Permalink to When you intervene"&gt;#&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;The nuclear option is to directly say &amp;ldquo;we should not do this&amp;rdquo; and try to shut the project down. This almost always requires escalation to your leads and the leads of the owning team, requiring great conviction in both the fact that you&amp;rsquo;re right and that this project will be actively harmful. But on some occasions, this is the right thing to do, especially if the cost of not saying something can be existential to your project or team.&lt;/p&gt;
&lt;p&gt;A slightly softer but still quite risky variant of this is, instead of doing a direct escalation, you raise concerns in directly with the team. Usually this is done with a meeting with the team or a strongly worded &amp;ldquo;concern&amp;rdquo; or &amp;ldquo;rebuttal&amp;rdquo; doc. The goal is to speak in strong enough terms that the team themselves conclude that this the project might not be a good idea.&lt;/p&gt;
&lt;p&gt;Then there are the smaller interventions, nudging things in the right direction. These are perfect for when a team is about to do something that makes sense from a high level but they are going about this the wrong way. I see this often with Perfetto: a team sends a design doc proposing a complex use of Perfetto that I know will cause them pain later. I sit down with them, understand their actual problem, and guide them to a better solution. It costs an hour but saves them months. If you do it right, you can even be seen as a helper rather than a hindrance, even if you do slow down the team.&lt;/p&gt;
&lt;h3 id="when-you-dont"&gt;When you don&amp;rsquo;t&lt;a class="heading-anchor" href="#when-you-dont" aria-label="Permalink to When you don’t"&gt;#&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;Sometimes you conclude that the ROI just isn&amp;rsquo;t there to do anything direct: the political momentum is too strong, or the issue is too small to justify spending any influence. At this point, what you do depends on how much your team is involved.&lt;/p&gt;
&lt;p&gt;If it overlaps with your team&amp;rsquo;s work heavily then it might be best to make some subtle contingency plans: reducing your dependency on it or building abstractions to cope if it goes away. There is also a long game trick here. Even a bad project usually has an &amp;ldquo;essence&amp;rdquo; of a good idea, a specific problem it was trying to solve or an insight it was based on. If it fits with your job, it&amp;rsquo;s often a good idea to take that essence and see if you can naturally incorporate a better version of that specific solution into your own project. That way, if the bad project stalls or gets canceled, you can be proactive instead of reactive to the fallout.&lt;/p&gt;
&lt;p&gt;Alternatively, if you&amp;rsquo;re not involved, it&amp;rsquo;s easy: just stay out of the picture. Vent to friendly colleagues in private, commiserate, but in public, live with the reality.&lt;/p&gt;
&lt;h3 id="managing-your-team-through-it"&gt;Managing your team through it&lt;a class="heading-anchor" href="#managing-your-team-through-it" aria-label="Permalink to Managing your team through it"&gt;#&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;Finally, you must manage your own team through the process. If you can see the flaws in a project, other senior engineers probably see them too. Don&amp;rsquo;t try to gaslight them or &amp;ldquo;walk the company line&amp;rdquo; by pretending a bad project is actually good. It destroys trust.&lt;/p&gt;
&lt;p&gt;Instead, be honest about the facts on the ground without going into unnecessary political details. Tell them that you will do the best you can under these constraints.&lt;/p&gt;
&lt;h2 id="conclusion"&gt;Conclusion&lt;a class="heading-anchor" href="#conclusion" aria-label="Permalink to Conclusion"&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;So what did I tell my mentee? &amp;ldquo;I&amp;rsquo;ve learned that being right and being effective are different things. I could go tell them my concerns. They probably wouldn&amp;rsquo;t listen. I&amp;rsquo;d burn some goodwill. And in six months, nobody will remember that I called it, they&amp;rsquo;ll just remember I was the guy who tried to block their work&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;When you&amp;rsquo;re earlier in your career, you want to believe that good ideas win on merit, that if you just explain clearly enough, people will see reason. It took me quite some time to accept that big companies don&amp;rsquo;t work that way.&lt;/p&gt;
&lt;p&gt;But this doesn&amp;rsquo;t mean you stop caring. It means you get strategic about when to spend your credibility. Pick the battles where you can actually change the outcome, where your team will be hurt if you stay silent, where the cost of being wrong is low but the cost of the project failing is high.&lt;/p&gt;
&lt;p&gt;And for everything else? You vent to colleagues, you make quiet contingency plans, and you watch. Sometimes you learn something. Sometimes you&amp;rsquo;re wrong and the project actually works. And sometimes you get to feel that grim satisfaction of predicting exactly how things would fall apart.&lt;/p&gt;
&lt;p&gt;None of this is as satisfying as fixing everything. But it works and keeps me sane.&lt;/p&gt;</content:encoded></item><item><title>Why I Ignore The Spotlight as a Staff Engineer</title><link>https://lalitm.com/software-engineering-outside-the-spotlight/</link><pubDate>Thu, 04 Dec 2025 00:15:00 +0000</pubDate><guid>https://lalitm.com/software-engineering-outside-the-spotlight/</guid><description>Lately I’ve been reading Sean Goedecke’s essays on being a Staff+ engineer. His work (particularly Software engineering under the spotlight and It’s Not Your Codebase) is razor-sharp and feels painfully familiar to anyone in Big Tech.
On paper, I fit the mold he describes: I’m a Senior Staff engineer at Google. Yet, reading his work left me with a lingering sense of unease. At first, I dismissed this as cynicism. After reflecting, however, I realized the problem wasn’t Sean’s writing but my reading.
Sean isn’t being bleak; he is accurately describing how to deal with a world where engineers are fungible assets and priorities shift quarterly. But my job looks nothing like that and I know deep down that if I tried to operate in that environment or in the way he described I’d burn out within months.
Instead I’ve followed an alternate path, one that optimizes for systems over spotlights, and stewardship over fungibility.</description><content:encoded>&lt;p&gt;Lately I’ve been reading &lt;a href="https://www.seangoedecke.com/"&gt;Sean Goedecke’s&lt;/a&gt; essays on being a Staff+ engineer. His work (particularly &lt;a href="https://www.seangoedecke.com/the-spotlight/"&gt;Software engineering under the spotlight&lt;/a&gt; and &lt;a href="https://www.seangoedecke.com/not-your-codebase/"&gt;It&amp;rsquo;s Not Your Codebase&lt;/a&gt;) is razor-sharp and feels painfully familiar to anyone in Big Tech.&lt;/p&gt;
&lt;p&gt;On paper, I fit the mold he describes: I&amp;rsquo;m a Senior Staff engineer at Google. Yet, reading his work left me with a lingering sense of unease. At first, I dismissed this as cynicism. After reflecting, however, I realized the problem wasn’t Sean’s writing but my reading.&lt;/p&gt;
&lt;p&gt;Sean isn&amp;rsquo;t being bleak; he is accurately describing how to deal with a world where engineers are fungible assets and priorities shift quarterly. But my job looks nothing like that and I know deep down that if I tried to operate in that environment or in the way he described I’d burn out &lt;strong&gt;within months&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Instead I&amp;rsquo;ve followed an alternate path, one that optimizes for &lt;strong&gt;systems over spotlights&lt;/strong&gt;, and &lt;strong&gt;stewardship over fungibility&lt;/strong&gt;.&lt;/p&gt;
&lt;h2 id="we-live-in-different-worlds"&gt;We Live in Different Worlds&lt;a class="heading-anchor" href="#we-live-in-different-worlds" aria-label="Permalink to We Live in Different Worlds"&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;The foundational reason for our diverging paths is that Sean and I operate in entirely different worlds with different laws governing them.&lt;/p&gt;
&lt;p&gt;From &lt;a href="https://www.seangoedecke.com/about"&gt;Sean&amp;rsquo;s resume&lt;/a&gt;, my understanding is that he has primarily worked in &lt;strong&gt;product&lt;/strong&gt; teams &lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt; building for external customers. Business goals pivot quarterly, and success is measured by revenue or MAU. Optimizing for the &amp;ldquo;Spotlight&amp;rdquo; makes complete sense in this environment. Product development at big tech scale is a crowded room: VPs, PMs and UX designers all have strong opinions. To succeed, you &lt;em&gt;have&lt;/em&gt; to be agile and ensure you are working specifically on what executives are currently looking at.&lt;/p&gt;
&lt;p&gt;On the other hand, I&amp;rsquo;ve spent my entire career much more behind the scenes: in &lt;strong&gt;developer tools and infra&lt;/strong&gt; teams.&lt;/p&gt;
&lt;p&gt;My team&amp;rsquo;s customers are thousands of engineers in Android, Chrome, and throughout Google &lt;sup id="fnref:2"&gt;&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref"&gt;2&lt;/a&gt;&lt;/sup&gt;. End users of Google products don&amp;rsquo;t even know we exist; our focus is on making sure developers have the tools to collect product and performance metrics and debug issues using detailed traces.&lt;/p&gt;
&lt;p&gt;In this environment, our relationship with leadership is very different. We&amp;rsquo;re never the &amp;ldquo;hot project everyone wants,&amp;rdquo; so execs are not fighting to work with us. In fact, my team has historically struggled to hire PMs. The PM career ladder at Google incentivizes splashy external launches so we cannot provide good &amp;ldquo;promotion material&amp;rdquo; for them. Also, our feedback comes directly from engineers. Adding a PM in the middle causes a loss in translation, slowing down a tight, high-bandwidth feedback loop.&lt;/p&gt;
&lt;p&gt;All of this together means our team operates &amp;ldquo;bottom-up&amp;rdquo;: instead of execs telling us &amp;ldquo;you should do X&amp;rdquo;, we figure out what we think will have the most impact to our customers and work on building those features and tools. Execs ensure that we&amp;rsquo;re &lt;em&gt;actually&lt;/em&gt; solving these problems by considering our impact on more product facing teams.&lt;/p&gt;
&lt;h2 id="compounding-returns-of-stewardship"&gt;Compounding Returns of Stewardship&lt;a class="heading-anchor" href="#compounding-returns-of-stewardship" aria-label="Permalink to Compounding Returns of Stewardship"&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;In the product environments Sean describes, where goals pivot quarterly and features are often experimental, &lt;strong&gt;speed&lt;/strong&gt; is the ultimate currency. You need to ship, iterate, and often move on before the market shifts. But in Infrastructure and Developer Experience, &lt;strong&gt;context&lt;/strong&gt; is the currency.&lt;/p&gt;
&lt;p&gt;Treating engineers as fungible assets destroys context. You might gain fresh eyes, but you lose the implicit knowledge of how systems actually break. Stewardship, staying with a system long-term, unlocks compounding returns that are impossible to achieve on a short rotation.&lt;/p&gt;
&lt;p&gt;The first is efficiency via &lt;strong&gt;pattern matching&lt;/strong&gt;. When you stay in one domain for years, new requests are rarely truly &amp;ldquo;new.&amp;rdquo; I am not just debugging code; I am debugging the intersection of my tools and hundreds of diverse engineering teams. When a new team comes to me with a &amp;ldquo;unique&amp;rdquo; problem, I can often reach back in time: &lt;em&gt;“We tried this approach in 2021 with the Camera team; here is exactly why it failed, and here is the architecture that actually works”.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;But the more powerful return is &lt;strong&gt;systemic innovation&lt;/strong&gt;. If you rotate teams every year, you are limited to solving acute bugs that are visible &lt;em&gt;right now&lt;/em&gt;. Some problems, however, only reveal their shape over long horizons.&lt;/p&gt;
&lt;p&gt;Take &lt;strong&gt;Bigtrace&lt;/strong&gt;, a project I recently led; it was a solution that emerged solely because I stuck around long enough to see the shape of the problem:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Start of 2023 (Observation):&lt;/strong&gt; I began noticing a pattern. Teams across Google were collecting terabytes or even petabytes of performance traces, but they were struggling to process them. Engineers were writing brittle, custom pipelines to parse data, often complaining about how slow and painful it was to iterate on their analysis.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Most of 2023 (Research):&lt;/strong&gt; I didn&amp;rsquo;t jump to build a production system. Instead, I spent the best part of a year prototyping quietly in the background while working on other projects. I gathered feedback from these same engineers who had complained and because I had established long-term relationships, they gave me honest and introspective feedback. I learned what sort of UX, latency and throughput requirements they had and figured out how I could meet them.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;End of 2023 to Start of 2024 (Execution):&lt;/strong&gt; We built and launched Bigtrace, a distributed big data query engine for traces. Today, it processes over &lt;strong&gt;2 billion traces a month&lt;/strong&gt; and is a critical part of the daily workflow for 100+ engineers.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If I had followed the advice to &amp;ldquo;optimize for fungibility&amp;rdquo; (i.e. if I had switched teams in 2023 to chase a new project) &lt;strong&gt;Bigtrace would not exist.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Instead, I would have left during the research phase and my successor would have seen the same &amp;ldquo;noise&amp;rdquo; of engineers complaining. But without the historical context to recognize a missing puzzle piece, I think they would have struggled to build something like Bigtrace.&lt;/p&gt;
&lt;h2 id="the-power-of-no"&gt;The Power of &amp;ldquo;No&amp;rdquo;&lt;a class="heading-anchor" href="#the-power-of-no" aria-label="Permalink to The Power of “No”"&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;One of the most seductive arguments for chasing the &amp;ldquo;Spotlight&amp;rdquo; is that it guarantees resources and executive attention. But that attention is a double-edged sword.&lt;/p&gt;
&lt;p&gt;High-visibility projects are often volatile. They come with shifting executive whims, political maneuvering, and often end up in situations where long-term quality is sacrificed for short-term survival. For some engineers, navigating this chaos is a thrill. For those of us who care about system stability, it feels like a trap.&lt;/p&gt;
&lt;p&gt;The advantage of stewardship is that it generates a different kind of capital: &lt;strong&gt;trust&lt;/strong&gt;. When you have spent years delivering reliable tools, you earn the political capital to say &amp;ldquo;No&amp;rdquo; to the spotlight when it threatens the product.&lt;/p&gt;
&lt;p&gt;Recently, the spotlight has been on AI. Every team is under pressure to incorporate it. We have been asked repeatedly: &lt;em&gt;&amp;ldquo;Why don&amp;rsquo;t you integrate LLMs into Perfetto?&amp;rdquo;&lt;/em&gt; If I were optimizing for visibility, the answer would be obvious: build an LLM wrapper, demo it to leadership, and claim we are &amp;ldquo;AI-first.&amp;rdquo; It would be an easy win for my career.&lt;/p&gt;
&lt;p&gt;But as a steward of the system, I know that one of Perfetto’s core values is &lt;strong&gt;precision&lt;/strong&gt;. When a kernel developer is debugging a race condition, they need exact timestamps, not a hallucination. Users trust that when we tell them &amp;ldquo;X is the problem&amp;rdquo; that it actually &lt;em&gt;is&lt;/em&gt; the problem and they&amp;rsquo;re not going to go chasing their tail for the next week, debugging an issue which doesn&amp;rsquo;t exist.&lt;/p&gt;
&lt;p&gt;But it&amp;rsquo;s important not to take this too far: skepticism shouldn&amp;rsquo;t become obstructionism. With AI, it&amp;rsquo;s not &amp;ldquo;no forever&amp;rdquo; but &amp;ldquo;not until it can be done right&amp;rdquo; &lt;sup id="fnref:3"&gt;&lt;a href="#fn:3" class="footnote-ref" role="doc-noteref"&gt;3&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
&lt;p&gt;A spotlight-seeking engineer might view this approach as a missed opportunity; I view it as protecting what makes our product great: user trust.&lt;/p&gt;
&lt;h2 id="the-alternate-currency-of-impact"&gt;The Alternate Currency of Impact&lt;a class="heading-anchor" href="#the-alternate-currency-of-impact" aria-label="Permalink to The Alternate Currency of Impact"&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;The most common fear engineers have about leaving the &amp;ldquo;Spotlight&amp;rdquo; is career stagnation. The logic goes: &lt;em&gt;If I’m not launching flashy features at Google I/O, and my work isn&amp;rsquo;t on my VP&amp;rsquo;s top 5 list, how will I ever get promoted to Staff+?&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;It is true that you lose the currency of &amp;ldquo;Executive Visibility.&amp;rdquo; But in infrastructure, you gain two alternate currencies that are just as valuable, and potentially more stable.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Shadow Hierarchy&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In a product organization, you often need to impress your manager’s manager. In an infrastructure organization, you need to impress &lt;strong&gt;your customers’ managers&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;I call this the &lt;strong&gt;Shadow Hierarchy.&lt;/strong&gt; You don&amp;rsquo;t need &lt;em&gt;your&lt;/em&gt; VP to understand the intricacies of your code. You need the Staff+ Engineers in &lt;em&gt;other&lt;/em&gt; critical organizations to &lt;strong&gt;need&lt;/strong&gt; your tools.&lt;/p&gt;
&lt;p&gt;When a Senior Staff Engineer in Pixel tells their VP, &lt;em&gt;&amp;ldquo;We literally cannot debug the next Pixel phone without Perfetto&amp;rdquo;&lt;/em&gt;, that statement carries immense weight. It travels up their reporting chain, crosses over at the Director/VP level, and comes back down to your manager.&lt;/p&gt;
&lt;p&gt;This kind of advocacy is powerful because it is technical, not political. It is hard to fake. When you are a steward of a critical system, your promotion packet is filled with testimonials from the most respected engineers in the company saying, &lt;em&gt;&amp;ldquo;This person&amp;rsquo;s work enabled our success&amp;rdquo;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Utility Ledger&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;While product teams might be poring over daily active users or revenue, we rely on metrics tracking &lt;strong&gt;engineering health&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Utility:&lt;/strong&gt; Every bug fixed using our tools is an engineer finding us useful. It is the purest measure of utility.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Criticality:&lt;/strong&gt; If the Pixel team uses Perfetto to debug a launch-blocking stutter, or Chrome uses it to fix a memory leak, our impact is implicitly tied to their success.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ubiquity:&lt;/strong&gt; Capturing a significant percentage of the engineering population proves you&amp;rsquo;ve created a technical &amp;ldquo;lingua franca&amp;rdquo;. This becomes especially obvious when you see disconnected parts of the company collaborating with each other, using shared Perfetto traces as a &amp;ldquo;reference everyone understands&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Scale:&lt;/strong&gt; Ingesting petabytes of data or processing billions of traces proves architectural resilience better than any design doc.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;When you combine &lt;strong&gt;Criticality&lt;/strong&gt; (VIP teams need this) with &lt;strong&gt;Utility&lt;/strong&gt; (bugs are being fixed), you create a promotion case that is immune to executive reorganizations.&lt;/p&gt;
&lt;h2 id="archetypes-and-agency"&gt;Archetypes and Agency&lt;a class="heading-anchor" href="#archetypes-and-agency" aria-label="Permalink to Archetypes and Agency"&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Staff Archetypes&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I am far from the first to notice the idea of &amp;ldquo;there are multiple ways to be a staff software engineer&amp;rdquo;. In his book &lt;em&gt;&lt;a href="https://staffeng.com/guides/staff-archetypes/"&gt;Staff Engineer&lt;/a&gt;&lt;/em&gt;, Will Larson categorizes Staff-plus engineers into four distinct archetypes.&lt;/p&gt;
&lt;p&gt;Sean describes the &lt;strong&gt;Solver&lt;/strong&gt; or the &lt;strong&gt;Right Hand&lt;/strong&gt;: engineers who act as agents of executive will, dropping into fires and moving on once the problem is stabilized. I am describing the &lt;strong&gt;Architect&lt;/strong&gt; or the &lt;strong&gt;Tech Lead&lt;/strong&gt;: roles defined by long-term ownership of a specific domain and deep technical context.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The &amp;ldquo;Luck&amp;rdquo; Rebuttal&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I can hear the criticism already: &lt;em&gt;&amp;ldquo;You just got lucky finding your team. Most of us don&amp;rsquo;t have that luxury.&amp;rdquo;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;There are two caveats to all my advice in this post. First, the strategy I have employed so far requires a company profitable enough to sustain long-term infrastructure. This path generally does not exist in startups or early growth companies; it is optimized for Big Tech.&lt;/p&gt;
&lt;p&gt;Second, luck &lt;em&gt;does&lt;/em&gt; play a role in landing on a good team. It is very hard to accurately evaluate team and company culture from the outside. But while finding the team might have involved luck, staying there for almost a decade was a &lt;strong&gt;choice&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;And, at least in my experience, my team is not particularly special: I can name five other teams in Android alone &lt;sup id="fnref:4"&gt;&lt;a href="#fn:4" class="footnote-ref" role="doc-noteref"&gt;4&lt;/a&gt;&lt;/sup&gt;. Sure, they might have a director change here or a VP change there, but the core mission and the engineering team remained stable.&lt;/p&gt;
&lt;p&gt;The reason these teams seem rare is not that they don&amp;rsquo;t exist, but that they are often ignored. Because they don&amp;rsquo;t offer the rapid, visible &amp;ldquo;wins&amp;rdquo; of a product launch nor are they working on the &amp;ldquo;shiny cool features&amp;rdquo;, they attract less competition. If you are motivated by &amp;ldquo;shipping to billions of users&amp;rdquo; or seeing your friends and family use something you built, you won&amp;rsquo;t find that satisfaction here. That is the price of admission.&lt;/p&gt;
&lt;p&gt;But if you want to build long-term systems and are willing to trade external validation for deep technical ownership, you just need to look behind the curtain.&lt;/p&gt;
&lt;h2 id="conclusion"&gt;Conclusion&lt;a class="heading-anchor" href="#conclusion" aria-label="Permalink to Conclusion"&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;The tech industry loves to tell you to move fast. But there is another path. It is a path where leverage comes from depth, patience, and the quiet satisfaction of building the foundation that others stand on.&lt;/p&gt;
&lt;p&gt;You don&amp;rsquo;t have to chase the spotlight to have a meaningful, high-impact career at a big company. Sometimes, the most ambitious thing you can do is stay put, dig in, and build something that lasts. To sit with a problem space for years until you understand it well enough to build a Bigtrace.&lt;/p&gt;
&lt;div class="footnotes" role="doc-endnotes"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:1"&gt;
&lt;p&gt;By product team I &lt;em&gt;don&amp;rsquo;t&lt;/em&gt; mean &amp;ldquo;frontend team&amp;rdquo;: even as a backend engineer, you are still working on some part of what is being served directly to end users.&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:2"&gt;
&lt;p&gt;This is not exhaustive, &lt;a href="https://docs.perfetto.dev"&gt;Perfetto&lt;/a&gt; is open source and we &lt;em&gt;do&lt;/em&gt; also care about external developers but that&amp;rsquo;s &lt;em&gt;not&lt;/em&gt; why we get paid. From the company perspective, time we spent on open source bugs is &amp;ldquo;wasted&amp;rdquo; time but we do it because we believe in the mission of open source. I talked about this more in a recent post, &lt;a href="https://lalitm.com/perfetto-oss-company-prio/"&gt;On Perfetto, Open Source, and Company Priorities&lt;/a&gt;.&amp;#160;&lt;a href="#fnref:2" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:3"&gt;
&lt;p&gt;For what it&amp;rsquo;s worth, LLMs might not even be the best solution to &amp;ldquo;let&amp;rsquo;s put AI into Perfetto&amp;rdquo;: in my opinion there is lots of value with &amp;ldquo;old school&amp;rdquo; machine learning techniques like neural networks. A lot of trace analysis is just pattern matching. This is something I&amp;rsquo;m hoping to explore more in the coming year!&amp;#160;&lt;a href="#fnref:3" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:4"&gt;
&lt;p&gt;Android Kernel, Android System Health, Android Runtime, Android Camera HAL, Android Bionic&amp;#160;&lt;a href="#fnref:4" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</content:encoded></item></channel></rss>