Buildly Blog

What Senior Engineers Actually Do (And What They Shouldn't Have To)

· Camille Fontaine
Abstract representation of high-leverage review work

There's a version of the "AI will replace engineers" argument that is simply wrong, and a version that is interesting. The wrong version says AI agents will write all the code and engineers won't be needed. The interesting version says the definition of what a senior engineer does is shifting, faster than most engineering teams have updated their assumptions about it.

We're not trying to replace engineers. We're trying to give them more of the work that actually warrants their experience. That requires being specific about what that work is.

What senior engineers are actually hired to do

The formal answer is something like: design systems, mentor junior engineers, make architectural decisions, ensure technical quality, and solve hard problems. That's accurate but incomplete. It doesn't account for how senior engineers' time actually gets spent.

In practice, the highest-leverage senior engineers we've observed spend a significant portion of their time as reviewers, not authors. Not reviewers in the sense of gatekeepers — reviewers in the sense of people who read work produced by others, evaluate its quality and direction, provide precise feedback, and make decisions about whether something is ready to ship.

This is exactly the model you'd design if you were thinking clearly about leverage. A senior engineer who authors code is providing value proportional to their own output. A senior engineer who reviews code produced by five other people is providing value proportional to five people's output. The reviewer role multiplies their judgment across the entire team's output.

Autonomous coding agents don't change this model. They extend it. Now the reviewer role applies to code produced by agents as well as humans. The senior engineer's judgment is applied even more broadly.

The work senior engineers shouldn't be doing

What actually consumes senior engineers' time that shouldn't? Not all of it is mechanical work in the strict sense — some of it is coordination overhead, some of it is context-switching cost, some of it is unblocking blocked tickets that shouldn't require senior attention to unblock.

But a substantial chunk of it is exactly the pattern-driven implementation work that senior engineers are overqualified for. Writing a pagination endpoint when you've written twelve pagination endpoints is not a senior engineering problem. It's an execution problem. The senior engineer knows exactly what to do — they could produce the implementation in a few hours. But those hours come from somewhere, and where they come from is the work that actually benefits from their experience.

We're not saying execution work is unimportant. It is important. It needs to be done correctly. The question is whether it needs to be done by the most experienced person on the team, or whether it can be produced by an agent working from established patterns and reviewed by a senior engineer who can verify correctness in 20 minutes rather than author it in 3 hours.

The reviewer model at scale

There's a challenge that emerges when you shift to the reviewer model at any significant scale: review quality degrades when reviewers are overwhelmed. A senior engineer who has 12 agent-generated PRs in their queue will review them less carefully than a senior engineer who has 4. The review step only provides the safety guarantee it promises if the reviewer actually reads the code.

This is a real constraint, and we've seen it play out. The answer isn't fewer PRs — it's better PRs. A well-scoped, well-described PR for a boilerplate ticket should take 15–20 minutes to review, not 2 hours. That means the agent's job isn't just to write correct code; it's to write code that's reviewable. Tight scope, clear PR description, relevant test coverage, surfaced uncertainty. When those elements are present, review is fast and high-confidence. When they're absent, review becomes its own full-time job.

We've also found that review quality improves when engineers can do it in batch — several shorter reviews in a focused 90-minute block rather than context-switching into review mode constantly throughout the day. This requires some workflow discipline, but it's the same discipline that makes human code review scalable on large teams.

What changes when senior engineers review more than they author

The obvious change: more total output. If three senior engineers can each review 6–8 agent PRs per day while still doing 2–3 hours of deep architecture work, the team's throughput on mechanical work increases substantially without adding headcount.

The less obvious change: the nature of senior engineers' architectural thinking improves. When you spend less time writing boilerplate code, you have more mental bandwidth for the harder questions. The architectural decisions that senior engineers get pulled into mid-sprint — "should this be a synchronous call or an event?" "how do we handle this edge case in the retry logic?" — get more careful consideration when the engineer isn't also trying to finish a CRUD endpoint by end of day.

There are also some genuine losses to account for honestly. Writing code, even boilerplate code, is how engineers stay close to the details of a codebase. An engineer who only reviews and never authors risks losing the granular familiarity with implementation details that makes their reviews effective in the first place. The best reviewers are people who have written a lot of similar code. If they never write similar code, they may review it less well over time.

We think this risk is real but manageable. The answer is not that senior engineers should write all their own boilerplate forever to maintain their edge. The answer is that the reviewer role itself should be treated as a skill that requires deliberate practice — staying engaged with implementation details through careful review, not just as a checkbox activity.

The feedback loop for junior engineers

One concern we hear from engineering leaders: if agents handle boilerplate tickets, junior engineers don't get to work on those tickets and don't develop through them. There's truth to this. Writing CRUD endpoints when you're early in your career does teach you things — how data flows through layers, how the team structures its abstractions, where the edge cases live. That learning matters.

Our answer is partial. We're not claiming every team should immediately route all mechanical work through agents. Teams need to make deliberate decisions about which tickets to send to agents and which to preserve for junior engineers' development. A junior engineer who is ready to work on more complex problems doesn't benefit from writing another pagination endpoint. A junior engineer who hasn't yet internalized the codebase's patterns probably should write that endpoint themselves before reviewing agent-generated ones.

The interesting long-term question is whether reviewing agent output becomes its own development path. Reading carefully-generated code that follows your codebase's patterns, identifying where it's right and wrong, writing review comments that improve the output — that's not a passive exercise. It could be a legitimate path to developing the codebase familiarity that junior engineers need. We don't know yet. It's worth paying attention to.

What we're optimizing for

The goal is not maximum throughput on mechanical work. The goal is a team where senior engineers spend the majority of their time on the highest-leverage work — the work that actually benefits from their judgment and experience — and where the mechanical work gets done correctly and efficiently without consuming that judgment.

That's a different optimization target than "ship more code." Shipping more code is a side effect of the real goal, which is making experienced engineers more effective. The best ones we know are already operating in reviewer mode much of the time. Buildly is built to support that mode at the scale that automated code production enables.

Back to Blog Request Demo