Growing your career
Owning ambiguity
Senior work starts when the problem statement is incomplete. You write down the goals, constraints, and success metrics for others.
SDE3 (senior) is the level where "strong individual contributor who ships features" stops being enough. The job shifts toward owning fuzzy problems, setting direction in a local sphere, raising the quality bar, and multiplying other engineers. Titles vary. The behavioral change does not.
Seniors still write code. They just stop being the only way code gets written in their area. If every critical path requires their hands on the keyboard, they have created a bus factor, not a senior practice.
Concept
Ambiguity means the problem statement is incomplete: unclear owner, conflicting goals, missing metrics, or several plausible designs. Junior engineers need ambiguity removed. Senior engineers remove it for others — by writing it down, deciding, or running a process that decides. See what the levels mean.
What changes
| Behavior | Strong SDE2 | SDE3 / senior |
|---|---|---|
| Problem shape | Clear feature or project outcomes | Fuzzy pain: reliability, cost, migration, product bets with incomplete specs |
| Start condition | Needs goals and constraints | Defines goals, constraints, and success metrics with stakeholders |
| Technical role | Excellent execution inside a design | Sets or heavily shapes the design; anticipates failure modes |
| People | Mentors when asked; strong reviews | Deliberately grows others; sets team standards |
| Horizon | This quarter's launch | Next few quarters' trajectory for an area |
Walking through a timeout
SDE2: "Reduce timeout errors on checkout." They find the buggy retry, fix it, add tests, ship.
SDE3: Timeout errors are one symptom of a flaky dependency and unclear SLOs. They pull metrics, propose a layered fix (client backoff, bulkhead, dependency SLO, runbook), align with the owning team, sequence the work so juniors can take slices, and make sure the dashboard tells the truth. They may write the riskiest patch themselves. The design doc and the adoption plan matter as much.
Being indispensable is not the same as being senior. If your vacation breaks the team, you have concentrated risk, not leveled up. Seniors make themselves replaceable on yesterday's work so they can take tomorrow's ambiguity.
Common mistakes
- Waiting for a clean ticket. Senior-shaped work arrives fuzzy.
- Staying the only person who can ship the area. That is a bus factor.
- Confusing harder LeetCode with more senior. The step is which problems land on you.
- Removing ambiguity only in your head. Write it down so others can act.
Check yourself
-
Checkout timeouts are up. What does an SDE3 do first that an SDE2 might skip? Frame the fuzzy cause — dependency, SLOs, retries — and sequence work others can take, not only patch the retry.
-
Your vacation pages the team. Are you senior? Not yet on multiplication. Document, teach, and hand off yesterday's work.
Key takeaways
- SDE3 is owning ambiguity, direction, bar-raising, and multiplication — not harder tickets.
- Seniors define goals and success metrics; they do not wait for them.
- Write the problem down so others can take slices.
- Make yourself replaceable on yesterday's work.
Further learning
Next, lead without reports in technical leadership.
Related
The path to SDE3 and beyond
What senior engineers do differently: technical leadership, multiplying others and owning ambiguity.
What the levels mean
Junior, SDE2, SDE3 and staff: scope, autonomy, impact and influence at each level.
Growing your scope
From tasks to features to projects to problems: finding and taking on higher-leverage work.