Thanks for making the time, Priya. I'd rather understand how you work than run a checklist. To start wide: what does a good week look like for you at your best?
A good week is one where I turn something vague into something a team can act on. It usually starts messy — a launch is slipping or checkout is flaky and nobody can say why. My best days are spent tracing the system and writing down what I find until the fog clears.
What's the feeling you're chasing in that work?
The moment three teams who were arguing suddenly agree on what to do because they're all looking at the same diagram. Writing the actual fix is almost the easy part after that. I get more satisfaction from the alignment than from the code.
You said you turn vague into concrete. Can you take me into a specific time you did that under real pressure?
Last peak season our checkout fell over during a big sale. Orders were failing silently and some customers were double-charged. There was panic and a lot of blame flying between payments, fraud, and fulfillment. Nobody could actually say what was happening.
How did you cut through that?
I stopped the guessing by pulling traces and reconstructing the real failure path. A retry storm was hammering the payment gateway with no idempotency, so retries were creating duplicate charges. Once I could show the exact sequence, the argument just stopped — the evidence settled it.
And the fix itself?
We added idempotency keys so a retry could never double-charge, and a circuit breaker around the gateway so we fail fast instead of amplifying an outage. Checkout error rates dropped by about two-thirds, and on-call pages fell roughly forty percent over the next quarter.
You didn't own the fraud or fulfillment teams. How did you actually get them to move?
I wrote the design doc I wished existed. Instead of arguing live, I laid out the failure, three options, and what each cost in latency, effort, and risk. I made the tradeoffs visible so the decision felt obvious rather than imposed by me.
Did anyone push back hard?
The fraud team worried the circuit breaker would mask real fraud signals. That was fair, so I added a fallback path that still logged the attempts. Naming their concern in the doc and solving it, rather than steamrolling it, is what got their yes.
When you design something like that, how do you decide what to deliberately not build?
My default question is: what happens if we don't build this? If the answer is nothing for six months, it waits. People wanted a full retry rules-engine; the data showed ninety percent of failures were one pattern, so I shipped two hard-coded strategies instead.
Wasn't that a risk — under-building?
I left a clean seam to extend later, so it wasn't a dead end. Building the general engine would've doubled the timeline for a case we didn't have yet. I'd rather ship the boring version that solves today's real problem and grow it when evidence demands.
Let's talk about a decision you got wrong.
Early on I ran a big-bang migration of our catalog service over a weekend because I was confident in the plan. It technically worked, but I'd underestimated how many downstream teams read the old schema in undocumented ways.
What did that cost, and what did you change?
Two weeks of firefighting breakages I could have prevented. Now I assume there are consumers I don't know about, so I ship behind a compatibility layer and migrate incrementally. It's slower on paper and much faster in reality, because nothing catches fire.
How do you grow the people around you?
I make my thinking visible so it's copyable. My design docs include the dead ends and why I rejected them, because the reasoning is the transferable part. The answer alone teaches people nothing; the path to it teaches them everything.
Any concrete result from that?
I started a weekly design review where anyone can bring a half-formed idea and get it pressure-tested kindly. Two senior engineers who used to wait for my sign-off now run those sessions and make calls I'd have made. That's the outcome I care about.
How do you handle disagreement when you think you're right and a respected peer doesn't?
I try to argue their side better than they can first, to check I actually understand it. Often that surfaces a real gap in my thinking. If I still disagree, I propose the smallest experiment that would prove one of us wrong, so it's not about ego.
The role spans payments, fraud, and fulfillment. What draws you to that breadth over going deeper in one area?
The interesting failures live between systems, not inside them. A payment problem is often a fraud-rule interaction or a fulfillment timeout wearing a payments costume. I like sitting at those seams because that's where you prevent whole classes of incidents.
Doesn't going broad risk you being shallow everywhere?
It could, so I stay deep enough in one anchor area — payments — to keep credibility, and rely on the owning experts for the rest. My value isn't knowing every service best; it's connecting them and raising the reliability floor everyone builds on.
How do you make a call when the data is genuinely ambiguous?
I make the smallest reversible bet that will teach me something. If I can't tell whether latency is the gateway or our queue, I won't debate a week — I add a trace, ship it, and let a day of real traffic answer the question.
And when the bet isn't reversible?
Then I slow down and pull in more eyes deliberately. The expensive, one-way-door decisions are exactly where I stop optimizing for speed. I try to be fast on reversible things and patient on irreversible ones, and to know which is which.
What kind of environment wears you down?
Politics disconnected from users or reliability — decisions made to satisfy someone's status rather than the system or the customer. I also dislike process that exists for its own sake. Every rule should earn its place by preventing a real, named failure.
What energizes you, then?
Ambiguous, high-stakes problems where I get to define what we're actually solving, with a team I can level up along the way. I like being the calm center when something's on fire, and then making sure that fire can't start the same way twice.
Where do you see AI changing this kind of engineering, and how does that sit with you?
The mechanical parts — boilerplate, first-draft tests, tracing unfamiliar code — are already faster with AI, and I lean on it daily. It genuinely removes toil I used to do by hand, which frees me for the harder judgment work.
What doesn't it do well?
It doesn't decide which problem is worth solving in a messy org, and it can't hold the context of why we made a tradeoff two years ago. It'll confidently generate plausible-but-wrong designs, so someone with judgment has to catch that.
So how are you adapting?
I'm moving up the stack toward system framing and judgment, and treating code generation as leverage. I'd rather be the person who defines the right problem than the fastest at typing a solution — that's the part that keeps getting more valuable, not less.
How do you keep learning at this stage of your career?
I deliberately review incidents from teams I'm not on, because other people's failures are cheap lessons. And I pick one uncomfortable area a year — lately fraud modeling — and force myself to be a beginner in it. Staying a bit uncomfortable keeps me sharp.
How do you balance reliability with shipping speed when product is pushing hard?
I reframe it as risk, not speed versus safety. I'll ask what specifically breaks if we ship Friday, and often we can ship the risky ninety percent now behind a flag and harden the rest. Making the actual risk explicit usually dissolves the fight.
How do you structure a normal week between deep work and constant interruptions?
I protect two long blocks a week for the thinking that requires uninterrupted focus, and I'm ruthless about it. The rest I leave open for reviews and unblocking people. If everything is reactive, the important architecture work never happens and quality quietly rots.
When two incidents hit at once, how do you triage?
By blast radius and reversibility. Whatever is losing money or corrupting data right now wins, and I say the priority out loud so nobody's guessing. Then I delegate the second one to someone I trust rather than trying to hold both in my own head.
Tell me about a time you said no to scope leadership wanted.
Leadership wanted a flashy new checkout feature during peak season freeze. I said no, and explained that shipping into peak risked the revenue the feature was meant to grow. I offered to ship it right after. Protecting stability when it mattered most was the harder, right call.
How do you stay calm emotionally when production is down and everyone's watching?
I narrow to the next concrete action instead of the size of the disaster. Panic is just imagining all the consequences at once. If I focus on 'what's the next diagnostic step', the fear has nowhere to grow, and that calm spreads to the team.
Tell me about something you fixed that nobody asked you to.
I noticed our alerts were so noisy people ignored them, which is how real incidents get missed. Nobody asked, but I spent a week pruning and tuning them until a page meant something again. Reducing that noise probably prevented an outage we'll never know about.
What do people commonly misunderstand about you?
That because I'm cautious about reliability I must be slow or risk-averse. Actually I ship fast — I just make risk explicit first. The caution is targeted at irreversible things. On everything else I'm probably more aggressive about shipping than people expect.
Is there a principle you won't compromise on?
Honesty in incident reviews. I will not let us blame a person for a system failure, and I won't let us quietly bury a root cause because it's embarrassing. The moment we start hiding failures to look good, the reliability culture is dead.
How do you build cross-team trust before you actually need it?
By helping other teams when there's nothing in it for me — reviewing their design, taking a page that wasn't mine. Then when I need the fraud team to move on a shared risk, there's a relationship already there. You can't build trust in the middle of a crisis.
What does great collaboration feel like to you?
When the ego drops out and we're all just pointing at the same diagram trying to make the system better. The best design reviews feel like a group solving a puzzle together, not people defending turf. That's when I know a team is actually healthy.
Last one: if this Staff role went perfectly for two years, what would be true that isn't true today?
Incidents in checkout would be rare and boring, and on-call could resolve them without paging me. New markets would plug into a shared payments architecture instead of reinventing it. And two or three engineers would be making platform-level calls with the same reliability instinct — because I'd have spent the time to transfer it.