Why Your Best Engineers Are Interviewing Elsewhere
In 2018, a senior engineer at a $40M ARR SaaS company spent six months arguing that the proposed database architecture would not scale. Product wanted to ship fast. Engineering leadership agreed with him but did not push back on product. The decision was made: ship now, refactor later. He started interviewing that week. Not because of the technical decision—those happen. Because his judgment did not matter. Eight months later, the system had daily performance issues. Eighteen months later, the company had lost five senior engineers and hired a fractional CTO to diagnose why.
The diagnosis was straightforward: nobody at executive level had known engineers were unhappy until they resigned. Exit interviews cited "better opportunities" and "competitive compensation." The CEO approved 15% raises for remaining engineers. More left anyway. The real problem was not compensation. It was that information does not flow upward through organizational hierarchy, and by the time problems reach executive level, they have already metastasized into resignation decisions made months earlier.
Replacing those five engineers cost approximately $1.4 million in recruiting fees, lost productivity, and knowledge drain. The retention problem could have been solved for a fraction of that cost, but only if executives had known it existed. They did not, because junior engineers had told senior engineers, senior engineers had told managers, and managers had decided the information was not worth escalating. The executives were the last to know.
Hierarchies filter bad news out
Organizations create hierarchies to manage complexity. The unintended consequence is that information gets filtered at each layer. A junior engineer mentions to a senior engineer that a technical decision seems problematic. The senior engineer tells the engineering manager. The manager decides whether this makes him look bad or is worth escalating. The VP of Engineering hears a filtered version, if anything. The CTO hears "we are handling it." The CEO hears "everything on track."
Each layer removes detail and urgency. By the time something reaches executive level, it is either a crisis or it has been filtered out entirely. The filtering is not malicious. Middle managers believe they are doing their jobs by "handling problems at their level." They see escalation as failure. They present solutions, not problems. This feels like professionalism but functions as information suppression.
A software company with 120 engineers provides a useful example. The frontend team identified performance issues with the new dashboard in March. By April, engineers were discussing it openly in code reviews. The engineering manager knew by May and began investigating solutions. The VP of Engineering heard about it in June, framed as "we are optimizing dashboard performance." The CTO learned in July that "some performance work" was happening. In August, the company's largest customer complained that the dashboard was unusable. The executive team treated this as a sudden crisis requiring emergency response. Engineers had known for five months.
The result is that the people making resource allocation decisions operate on information that is months out of date and systematically scrubbed of bad news. Engineers know the database will not scale in August. Managers know engineers are frustrated in October. VPs know there is a morale issue in December. The CTO learns engineers are resigning in February. Each group thought they were handling the problem appropriately. None realized they were creating information latency that made the problem unsolvable.
The convenient fiction of chain of command
... continue reading