This article expands on the “Team and Growth” thread from Management Retrospective.

When you first start leading a team, it is easiest to understand management as “what you used to do, plus some coordination work”: when a project gets stuck, push it forward yourself; when a plan is unclear, finish it yourself; when a teammate runs into a difficulty, give the answer immediately; when the schedule is at risk, follow up on every item one by one.

These actions often work in the short term. A manager has more experience, more complete information, and faster judgment, and stepping in personally can indeed move a specific problem forward. But if the team can only run in the long term by relying on the manager’s judgment, prodding, and gap-filling, the team’s capability has not grown — the bottleneck has merely been replaced by one person.

The difficulty of frontline engineering management lies precisely in completing this shift: from “I do things well” to “this team can keep doing the important things well.” It is not about doing less, but about redirecting effort from substitute labor toward systematic output.

I prefer to judge whether frontline management is effective by three results: whether the team produces better judgment, whether delivery becomes more predictable, and whether problems can be handled openly and with quality. They are connected: without shared judgment, a plan is just a task list; without stable delivery, even the best judgment cannot produce results; without the ability to discuss problems, the first two eventually degenerate into a few people bearing everything alone.

1. The First Output: Give the Team Better Judgment

An engineering team makes choices every day: what to do and what not to do; whether to do it now or later; whether to patch, refactor, or accept the status quo for now; whether to invest in speed or in reliability. The manager’s most important value is not to provide the answer for every choice, but to help the team gradually learn to make judgments in a way closer to the whole picture.

Judgment Is Not “Who Speaks Loudest”

Many arguments are ineffective not because the participants are not smart enough, but because people are answering different questions.

One person says “this feature is important,” meaning the user’s task would be blocked; another says “don’t do it yet,” meaning the current cost is too high; still another worries about future maintenance cost. All three views may be valid, but if the goal, constraints, and measures are never stated, the discussion often ends up as nothing but a clash of positions.

A discussable judgment must include at least four parts:

  • Goal: what result are we trying to change?

  • Facts: what is happening now, and what evidence is there?

  • Constraints: what are the boundaries of time, reliability, people, and systems?

  • Trade-offs: therefore, what do we prioritize, what do we explicitly not do, and what risks do we accept?

For example, “we should optimize page performance” is not yet a complete judgment. A more complete expression would be: a certain high-frequency task waits too long on specific devices and networks, and users visibly drop off at a key step; this time we first handle the highest-impact path and leave the other pages for the next phase; for that, we accept postponing a certain non-critical visual optimization. Such a discussion can be challenged, supplemented, and verified afterward.

What a manager must do is continually pull the team back from conclusions to the process of judgment. Compared with asking “how do you plan to do it,” more valuable questions are often:

  • Which problem exactly are you trying to solve? What happens if it is not solved?

  • Which facts does this judgment depend on, and which parts are still just guesses?

  • If resources were halved, what must be kept; if time were doubled, what would be worth adding?

  • Is there a simpler approach that could first validate the most critical assumption?

  • When what circumstances appear should we admit that this path is no longer worth pursuing?

These questions are not meant to turn every discussion into a defense, but to help the team build a shared order of thinking: first define the problem, then compare options, and finally accept the trade-offs.

Keep the “Why” Inside the Team

If team members only receive conclusions, they can finish tasks but can hardly transfer the experience. A temporary priority adjustment, a trade-off between approaches, a tolerance of risk — all of these should, as far as possible, let the relevant people understand the “why” behind them.

This does not mean every decision must be repeatedly consulted, still less that a manager cannot make the call. When time is short and information is incomplete, deciding promptly is itself a responsibility. The difference lies in whether the manager clearly explains the basis of the decision, what remains undetermined, and how it will be verified later. Then even if members disagree, they can understand which yardstick the team is using to choose; the next time they face a similar situation, they have a chance to judge independently.

The growth of judgment ultimately shows up as concrete changes: proposals no longer merely list implementation details but explain user impact and alternative paths; members proactively suggest what should be cut rather than scheduling every requirement; and the moment a risk appears, they can explain which goal it affects, without having to wait until after a delay to report it.

Judge People, Not Label Them

A manager must also judge people, but this judgment should not be equated with ranking people high or low, or drawing a conclusion about a person from a single performance. More useful questions are: on what kind of problems is this person currently reliable? Where are the boundaries of their ability? What is the most worthwhile thing to stretch next?

Technical ability certainly matters, but in frontline management a few qualities more readily determine whether a person can keep taking on complex work: whether they can describe facts truthfully rather than masking risk with polished narrative; when facing failure or disagreement, whether they can separate their frustration from the problem itself; and when they do not know the answer, whether they can admit the unknown, actively fill in the missing information, and keep moving forward.

For example, a member’s proposal did not meet expectations. What is worth discussing is not whether they have “ability,” but how they face the situation: do they only explain external causes, or can they distinguish which judgments were reasonable at the time, which signals were ignored, and how they plan to verify next time? The latter does not guarantee immediate success, but it shows they have the ability to turn experience into their next judgment.

This also explains why a manager cannot reward only the results that look smooth. A person who lays out uncertainty early and proposes alternatives may deserve more trust than one who drags the risk to the end and barely finishes. If a team rewards only the appearance of “no problems, ever,” it will slowly lose its honesty in facing problems.

2. The Second Output: Make Delivery Predictable

“Delivering on time” is often misunderstood as a matter of willpower: try a little harder, push a little more often, break the plan into finer pieces. In fact, truly predictable delivery is not the sum of optimistic promises, but the team’s ability to see uncertainty early and promptly adjust scope, path, and how it collaborates.

Progress Is Not a Percentage, but Remaining Uncertainty

“We’re already 80% done” sounds reassuring, but it provides almost none of the information a decision needs. The remaining 20% might be just finishing touches, or it might contain an unverified dependency, a path that has never run end to end, or a change that requires cross-team coordination.

Rather than asking how much is done, we should ask:

  • What still stands between the target result and being usable?

  • Which remaining item is the most uncertain?

  • Which external condition, once it changes, would invalidate the plan?

  • At which point can we earliest validate the critical path?

  • If scope must shrink, what do we give up first?

This turns project syncs from “reporting good news or bad news” into managing risk together. The team need not pretend everything is under control, nor wait until the last moment to say “we can’t finish.” The earlier a risk is made explicit, the more options there are: shrink scope, change the path, add resources, adjust dependencies, or simply stop work whose return is not high enough.

The Purpose of a Plan Is to Expose Assumptions

A good plan does not fill the future to the brim; it lets the team see “which premises must hold for us to finish at this pace.”

So what is most worth writing clearly in a plan is often not the name of every subtask, but the assumptions on the critical path: whether a certain technical validation has passed, whether an interface is actually usable, whether certain data is enough to support a judgment, and who will decide what by what time. Every assumption should have a way to verify it and a latest verification time.

For complex tasks, you can cut the work into small pieces whose results can be observed independently: first get the narrowest end-to-end path running, then expand coverage; first validate the highest-risk part, then optimize the sequence; first deliver a usable version, then decide whether it is worth further polishing. This is not a fetish for “small steps, fast running”; it is about avoiding betting large investments on unverified premises.

What the manager bears here is calibration, not taking over scheduling: confirm that the goal has not been buried under task details, confirm that someone sees the key risks, and confirm that the plan allows change to happen. When the plan changes, also bring the team back to the original goal to reassess the trade-offs, rather than stacking every change on top of existing commitments.

Reliable Collaboration Needs Clear Interfaces

Many delays in engineering projects are not because someone did not try hard, but because the collaboration interfaces are vague: who decides, who executes, who provides input, who receives the result, and what counts as done — none of it has been made clear.

At the start of a collaboration, at least five things should be aligned:

  • what result is to be achieved together;

  • what the boundaries and decision rights of each party are;

  • what the dependent inputs, outputs, and confirmation times are;

  • who escalates when a risk appears, and where it is discussed;

  • what evidence is enough to show that this segment is complete.

None of this needs to be written as a heavy process. Often, a one-page brief or a kickoff meeting with conclusions is enough to avoid a great deal of later guesswork. Much of what we call “collaboration ability” is simply reducing the room for people to guess.

3. What a Manager Should Not Do for the Team

“Don’t do the team’s work for them” is easily misread as laissez-faire. A manager must of course take responsibility at key moments: give direction when the goal is unclear, hold the line when conflict escalates, decide when a risk exceeds what the team can bear, and mobilize resources when a member needs support.

What should not be replaced are the abilities that are meant to grow on the team through practice. There are four common ones.

Don’t Answer the Questions the Team Should Answer Themselves

When a member comes with a problem, giving the answer directly is usually fastest and also most likely to create dependence. A better first step is to judge: does the person lack information, method, or decision authority — or do they just need someone to help them articulate the problem clearly?

If the problem is still within their responsibility, first clarify the goal and constraints together, then let them come back with a proposal. The manager can offer counterexamples, add context, and point out risks, but should not rush to seize the conclusion. Real support is not keeping the other person from ever making a mistake; it is letting them know where to start thinking the next time they meet a similar problem.

Don’t Carry All the Context for the Team

A manager usually knows more than any single member: why priorities changed, what is happening in another direction, where a certain constraint comes from. But if this background exists only in the manager’s head, the team can only execute mechanically and cannot judge whether a local optimum is still valid.

What should be shared is not every piece of information, but the context that changes judgment: why the goal changed, why a constraint exists, what is still undetermined. Context need not be told all at once, but it needs to enter the right decision scenarios and become common material the team can use.

Don’t Cover Up Risks and Conflicts for the Team

To maintain “smoothness,” some managers habitually digest problems before they surface: quietly filling the gap, relaying messages for both sides, postponing difficult conversations. This is sometimes necessary first aid, but if it becomes the norm, the team loses the chance to face real constraints.

The healthier approach is to bring the problem into an appropriate scope to handle it: make the facts clear without simply pinning responsibility on one person; discuss impact and options without turning disagreement into personal opposition; decide the next step and leave time to review the results. Safety is not “never having disagreements,” but knowing that disagreements can be handled properly.

Don’t Take On All the Commitments for the Team

A manager can fight for resources for the team and clarify external expectations, but cannot turn every commitment into “I’ll be the safety net.” If the owner of a task, its completion criteria, and its risk status are never clear, it will ultimately come back to the manager.

Accountability is not pushing pressure down onto individuals. On the contrary, the manager needs to make sure commitments match authority, information, and resources; when they do not match, adjust the goal or supply the missing conditions, rather than asking members to fill system gaps by spending more of themselves.

4. Development Is Not Pouring Experience into Everyone

A team’s capability does not grow naturally just because a manager has preached a lot. The point of development is not only to fill in a skill, but to help people at different stages see the constraints they cannot yet see, and to practice new judgment in real work.

The same piece of advice means different things to people at different stages. Less experienced members often need to articulate problems clearly, complete a full task, and know when to ask for help; people who can already deliver independently find their bottleneck shifting from “can I do it” to “can I explain why I do it this way, and how else it could be done”; people beginning to own a direction need to move from local implementation toward an overall judgment about results, collaboration, and long-term cost.

Development should therefore not be a single course schedule shared by everyone, but different exercises arranged around the real work at hand:

  • for people still building fundamentals, make the task’s completion criteria explicit, and review the reasoning process together at key points;

  • for people who can deliver independently, ask them to compare approaches, explain trade-offs, and retrospect on the judgments that most affected the results;

  • for people starting to move others along, have them own clarifying goals, organizing discussion, and surfacing risks, rather than just finishing their own piece of implementation.

The manager’s most valuable act is often not “teaching,” but setting a responsibility that requires stepping exactly one step further. If the task is too small, the member only repeats existing ability; if too large, the member can only be forced to ask for help or barely carry it. A suitable challenge should have a clear result, available support, and a process that can be reviewed.

Here we must still avoid one misunderstanding: equating development with endlessly piling on. Growth needs challenge, but also boundaries. When a person takes on new responsibility, the manager must at the same time give enough decision scope, key context, and opportunities for feedback; otherwise the so-called exercise just shifts the system’s uncertainty onto the individual.

5. The Third Output: Turn Team Problems into a Discussable System

One sign of a mature team is not that problems become fewer, but that after a problem appears, the team does not have to rely on guesswork, emotion, or private coordination to move forward.

“Discussable” does not mean moving everything into meetings, nor trapping people in process. It means that once a problem enters the team’s view, everyone can answer around the same set of information: what actually happened, what the impact is, what options we have, who does what by when, and how we know whether it has improved.

First Translate Complaints into Problems

“Collaboration is bad,” “code quality is poor,” “requirements keep changing,” “a certain colleague is unreliable” may all be real feelings, but they are not yet enough to be acted on. To get the discussion started, first rewrite them into observable descriptions:

Vague phrasingA discussable way to say it
Collaboration is badThe inputs and acceptance criteria of the two modules were never confirmed, and the rework happened at the integration stage.
Code quality is poorSimilar changes repeatedly introduced similar defects across recent releases, without corresponding checks or tests.
Requirements keep changingGoals and completion criteria are still being changed after development begins, and the scope of impact is not evaluated in sync.
Communication is brokenKey decisions remain only in verbal exchange, and the responsible people receive inconsistent information.

This translation is not about weakening feelings, but about giving feelings something actionable to grab onto. The clearer the facts, context, and impact, the less likely the discussion is to slide into blame.

Lower the Barrier to Discussion with a Shared Problem Card

There is no need to build a complex mechanism for every problem. A lightweight enough recording format can let the team gradually form a shared language:

Phenomenon: what happened? Under what conditions did it happen? Impact: which goal, task, or collaboration relationship did it hinder? Evidence: what do we know? What is only speculation? Constraints: what time, system, or resource limits exist? Options: what are the feasible paths, and what does each cost? Next step: who verifies or advances what, by when? Review: what result would show that the problem has improved? The purpose of this card is not to leave behind a document, but to avoid skipping steps in discussion. It lets the team calibrate facts before proposing solutions, clarify goals before assigning tasks, and agree on a way to verify before declaring something solved.

Some problems turn out in the end to be one-off incidents, while others expose patterns that keep repeating. Only the latter deserve a further question: why does it keep appearing at this particular point? Is the boundary of responsibility unclear, is information transfer broken, is feedback missing, or do the goals themselves conflict? When the team begins to fix the conditions that produce problems rather than only the immediate result, management truly becomes systematic work.

Make Retrospectives Serve the Next Choice

The two easiest ways for a retrospective to fail are turning it into a praise or blame session, or writing it as a record that no one reads again. A more effective retrospective cares about only one thing: the next time we face a similar situation, what do we keep, change, or stop?

It can begin with four questions:

  • What did we originally want to achieve, and what actually happened?

  • Which judgments were reasonable at the time, and what new information later overturned them?

  • Which step most affected the result, and was it a coincidence or something that will repeat?

  • What exactly do we change next time, and what signal will verify it?

In this way, a retrospective is not about finding out “who did something wrong,” but about letting the team gain a little more understanding of how it works. A good retrospective leaves fewer but clearer actions: perhaps a new verification checkpoint, an earlier design discussion, a clearer handoff standard; if nothing changes in the end, it should also honestly explain why.

6. Weaving the Three Outputs into the Daily Rhythm

A management system is not built through one big change, but through stable, low-cost repetition. It can start from a very simple rhythm:

  • before starting a piece of work, align on the goal, boundaries, key assumptions, and stop conditions;

  • while advancing, prioritize syncing remaining risks and items that need decisions, rather than only reporting the completion percentage;

  • regularly pick a real case and practice translating a vague problem into facts, impact, options, and next steps;

  • after finishing, review the most critical judgments and confirm which lessons are worth carrying into the next round.

They correspond respectively to direction, delivery, learning, and repair. The frequency can be adjusted according to team size and the nature of the work, but the principle does not change: let important information appear while there is still time to change the outcome; let decisions leave behind their reasons; let experience return to the next action.

Frontline engineering management has no once-and-for-all template. The stage a team is at, people’s experience, the business rhythm, and system complexity all differ. What a manager really needs to keep is observation of how the team runs: where dependence is forming, where there are unspoken assumptions, and where the same kind of problem keeps appearing in the same way.

When a manager stops treating themselves as the last “firefighter” and instead puts attention on these three outputs — judgment, delivery, and problem handling — the team will slowly build its own muscle. At that point, the value of management lies not in how many problems the manager solved, but in the fact that even when the manager is absent, the team can more clearly see problems, make choices, and get the important things done.