Engineering Leadership

Articles about Engineering Leadership on omid.dev — guides, topics, and notes from the field.

Essential Skills When Generation Is Cheap

Published: September 14, 2026 Reading time: 8 min

The senior frontend map did not get a new section called “AI.” The tools did. The roadmaps did. Job posts did. None of that changed what senior means: you make decisions the team will live with, and you own the result. What changed is how cheap it became to produce something that looks like that work. A first draft used to cost enough that it carried some thought. Now it does not. Fluent, compiling, plausible code is the default output of a short prompt. The scarce work moved up: deciding whether that draft should exist, whether it is working-but-wrong, and whether this was a place generation should have been invited at all. ...

Continue Reading

I Interview Frontend Hires for Other Companies

Published: September 9, 2026 Reading time: 17 min

Partner companies ask me to help hire their frontend developers. Not “sit in on the final call.” The work starts in a room with their CTO, someone from HR, and whoever currently leads the development team. I listen to what they think they need. Then I tell them who they can actually use, read the incoming resumes, choose who is worth an interview, and run the loop. I follow the same path for my own team. The difference is who lives with the result. When I hire badly for myself, I absorb it — I mentor the person, or I carry the gap in the sprint. When I hire badly for a partner, they keep the person and I keep the reputation. ...

Continue Reading

Have Influence Without Becoming the Backdoor

Published: August 19, 2026 Reading time: 11 min

Cross-team trust is one of the strongest assets a senior developer can build. People tell you what is not working before it becomes an escalation. Designers invite you into early conversations. Product asks whether an idea is feasible. Support sends you the user complaint that explains a confusing metric. You see the product beyond the boundary of your team’s backlog. Then the strength turns. Another team believes you promised a fix. Your lead learns about new work after you have started it. Your teammates feel that your review comments carry an unofficial veto. You still think you are helping, but the organization has begun treating you as the owner. ...

Continue Reading

Channel the Scout, Keep the Seat

Published: August 18, 2026 Reading time: 11 min

In the first post in this series, I called the pattern shadow ownership: a senior developer builds real cross-team influence, then commitments and product authority begin moving through that influence without a clear role. For a team lead, this can feel personal. You are accountable for delivery, but another person appears to be setting expectations. Other teams go to them first. Work enters through conversations you did not see. Their care for the product can sound like a judgment on everyone else’s care. ...

Continue Reading

When the Best Communicator Becomes the Backdoor

Published: August 17, 2026 Reading time: 9 min

On a small development team, one senior developer often becomes the person everyone else knows. People in product, design, support, and adjacent engineering teams message them directly. They listen well. They notice the rough edge that never became a ticket. They understand why a technically correct interaction still feels wrong to the person using it. When another team is frustrated, they do not reply with a Jira link and disappear. ...

Continue Reading

The Frontend Is a Privileged System Now

Published: August 15, 2026 Reading time: 8 min

For years, frontend engineering had a comforting boundary. The backend held the real power: databases, payments, authorization, infrastructure, production secrets. The frontend rendered the interface. It ran in the browser, where users could inspect it, modify it, and ultimately distrust it. That model still contains an important truth. The browser is not a trusted environment. A serious authorization decision cannot depend on what a client-side application chooses to show or hide. ...

Continue Reading

After the Zoom-Out: A Playbook for Staying Current Without Burning Out

Published: June 25, 2026 Reading time: 10 min

In The Zoom-Out, I wrote about the moment a senior developer realizes they don’t know what they don’t know — Corepack, Yarn, Orval, the whole peripheral toolchain that matured while we were busy shipping. That post was about naming the feeling and regaining perspective. Plenty of readers wrote back with the natural next question: “Okay, I get it — the map is huge and I can’t know everything. But how do I actually find the important stuff before I’ve been doing it wrong for five years?” ...

Continue Reading

The Zoom-Out: When 15 Years of Code Meets the "Ecosystem Blind Spot"

Published: February 25, 2026 Reading time: 5 min

It happened to me this morning. After 15 years in the trenches—building frontend architectures, dipping into the backend, leading teams, and surviving countless framework wars—I hit a wall. Not a technical wall, but a conceptual one. I realized I didn’t know what Corepack was. I’ve never actually used Yarn. I’ve heard of modern test runners like Playwright and code‑generation tools like Orval, but I’ve never managed to actually run one in a production pipeline. ...

Continue Reading

The Ethics of Legacy Code: Why Rewriting is Often a Mistake

Published: December 27, 2025 Reading time: 5 min

Every developer has been there: you inherit a codebase that looks like a bowl of spaghetti, and your first instinct is to say, “We need to rewrite this.” You see the outdated libraries, the inconsistent naming conventions, and the lack of unit tests, and you think, “I could do this so much better from scratch.” But a rewrite is rarely just a technical decision. It’s a social and ethical one. Legacy code is code that is working. It’s code that is paying the bills, processing the transactions, and serving the users. When we dismiss it as “trash,” we are dismissing the context, the constraints, and the hard work of the engineers who came before us. ...

Continue Reading

The Cost of Consistency: Avoiding Design System Bottlenecks

Published: December 25, 2025 Reading time: 5 min

Design systems are promised as the ultimate productivity booster. “Build once, use everywhere.” And for the first six months, it’s true. You see the velocity of your feature teams skyrocket as they stop arguing about hex codes and start assembling pages from a library of pre-built components. But as your team grows and your product evolves, the very system that was supposed to speed you up can start to slow you down. At work, we built a comprehensive Angular-based design system that initially reduced delivery time by 40%. However, as we scaled, we hit the “maintenance phase”: the point where the cost of consistency began to rival the cost of development itself. ...

Continue Reading