What I believe as an engineering manager
A short treatise on the values that guide how I lead: visibility, evidence, contracts, and systems that tell the truth under pressure.
I don't think management is persuasion. I think it's building systems that tell the truth under pressure — then helping people do their best work inside those systems.
These are the values I return to when the program is loud, the dashboard is green, and nobody can explain why the shopper journey still fails in integrated environments.
1. Visibility before burn-down
You cannot prioritize what you cannot see. I would rather ship an imperfect map of the end-to-end journey than a perfect backlog sorted by local team urgency. Feature lists optimize teams. Journey maps expose seams — and seams are where launches die.
My job is to make the whole path legible: what the user experiences, what each system owns, and where handoffs are assumed instead of proven.
2. Evidence over narrative
Numbers earn trust slowly and lose it in one meeting. If a metric cannot survive a skeptical engineer with a spreadsheet, it does not belong in a staff review.
I publish definitions. I reconcile identities. I fix wrong columns the same day I find them. Bad data is not a cosmetic problem — it is a governance failure that lets leaders optimize fiction.
3. Engineering-led, agent-accelerated
Agents are not a strategy. They are an execution substrate — useful only when humans retain intent, architecture, specification approval, and merge authority.
Throughput without contracts produces unreviewable diffs. My bias is simple: spec the work, let agents implement within bounds, run deterministic gates, and keep humans at the merge line. Vibe coding is not a delivery model; it is debt with good marketing.
4. Integration is a chain, not a checklist
Passing endpoints in isolation is not the same as proving a journey. I design safety nets in layers — team, seam, then full path — because failures compound at boundaries, not inside well-tested modules.
When triage piles up, I sort by spread (how many flows a defect blocks), not volume. Fixing the tenth instance of a symptom while the root cause still blocks checkout is motion, not progress.
5. Specifications are execution contracts
Ambiguity is expensive. It becomes rework, silent scope, and midnight Slack threads. I treat specifications as contracts: testable, versioned, and explicit about what is out of scope.
That discipline scales when agents join the team. The machine needs boundaries. So do humans.
6. Human-in-the-loop at the speed mismatch
When code generation outpaces review, the bottleneck moves to judgment. I design for that mismatch deliberately: draft PRs, bounded autonomy, review playbooks, and merge gates that assume the reader is tired.
Automation should reduce toil, not eliminate accountability.
7. Name the anti-pattern early
Quiet death — programs that look active but stop landing. Noble obstacles — blockers dressed as principles. Metrics that lie because definitions were never written down.
Naming the failure mode is half the fix. The other half is a short playbook someone can run next week.
8. Systems outlive heroics
Heroics get applause and create fragility. I prefer boring systems: run logs, cached raw data, repeatable triage, versioned program knowledge, dashboards leaders actually open.
If only one person understands how the launch map works, the launch map is already stale.
9. Teach managers to read their own telemetry
I build tools when the question is recurring — PR timelines, failure clustering, delivery dashboards — but the point is never the tool. The point is literacy: leaders who can interrogate their own assumptions without waiting for a quarterly readout.
10. Write it down while it is still embarrassing
The best learning artifacts include the wrong version. I would rather document a failed metric definition than polish a success story that hides how we got there.
This blog is part of that habit: notes for peers who manage the same tensions — scale, speed, agents, and the stubborn need for truth.
What this means in practice
If you work with me, expect journey maps before phase gates, definitions before dashboards, contracts before codegen, and reviews that assume AI output is guilty until the gates pass.
If you read this site, expect the same: direct prose, named patterns, and three things you can try without buying a framework.
That is the manager I am trying to be.