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

Many organizations treat skip-level conversations—executives talking directly to engineers several levels down—as inappropriate. The objections are consistent: it undermines middle management authority, breaks chain of command, creates perception of distrust, or represents micromanagement. These concerns are presented as organizational health considerations. They are actually organizational antibodies protecting middle management from accountability.

A CTO who talks directly to junior engineers hears what is actually happening. A CTO who relies on filtered reports hears what management wants them to hear. The taboo against skip-levels ensures the latter. Middle managers prefer this arrangement because it gives them control over information flow. They can present problems they have solved and suppress problems that reflect poorly on them. The organization pays for this preference through information latency that turns small problems into crises.

The economic argument against skip-levels is that executive time is expensive and should focus on strategic matters, not tactical details. This logic fails when strategic decisions are based on systematically wrong information. A CTO who spends several hours per week talking to engineers across all levels learns what is actually broken, what is actually blocking productivity, and which engineers are mentally checking out. This information has direct strategic value. It reveals where to allocate resources, which managers are effective, and which technical bets are failing. The alternative—relying on reports that have been filtered through three or four layers—is cheaper per hour and more expensive per bad decision.

The time investment need not be enormous. Allocating several hours per week (the specific amount matters less than the consistency) for direct conversations across levels provides ground truth. As organizations grow, the frequency per person decreases but the coverage remains. A CTO might talk to each engineer once per quarter rather than once per month. This maintains connection to reality without consuming the executive calendar. The engineers who get these conversations tell you things they would never tell their manager. You hear problems three to six months earlier than you would through proper channels. Early warning makes intervention cheaper.

A payments company discovered this after losing three senior engineers in a quarter. The new CTO instituted weekly office hours where any engineer could book 30 minutes. No agenda required, no manager approval needed. The first month revealed that the deployment system was so unreliable that engineers avoided deploying on Fridays, fearing weekend pages. The monitoring system generated so many false alerts that engineers had learned to ignore it. The API documentation was so outdated that new engineers spent their first month learning the system through trial and error rather than documentation. None of this had reached executive level through normal channels because each manager thought they were handling it. The CTO allocated budget to fix all three problems within the quarter. Six months later, voluntary attrition had dropped to near zero.

Agency, not salary

Engineers leave for reasons that exit interviews systematically misidentify. Compensation gets cited because it is measurable and socially acceptable. The actual reasons are harder to articulate and potentially awkward. Three patterns appear repeatedly.

Loss of agency. Engineers are told to build systems they know will fail. Technical judgment is consistently overruled for non-technical reasons. They watch decisions being made that will cause problems, they raise concerns, and they are told to implement anyway. When the predicted failure occurs, they are blamed for not preventing it. This is not about ego or engineers wanting to be in charge. It is about being asked for expert judgment and then having that judgment ignored.

A fintech company decided to build their own authentication system rather than use established solutions. Senior engineers argued this was unnecessary risk for a non-differentiating feature. Product management insisted on custom implementation to support specific user flows. Engineering leadership agreed with the seniors but did not push back. The custom authentication system shipped with three security vulnerabilities in the first month, required emergency patches, and consumed six months of engineering time that could have gone to revenue-generating features. The senior engineer who had argued against it started interviewing the week the decision was finalized. He did not wait for the failures he knew were coming.

The economic cost is wasted implementation time plus ongoing maintenance burden plus engineer disengagement. The company spent $180,000 building something that could have been bought for $12,000 annually. The engineer they lost would have built features that generated an estimated $400,000 in annual recurring revenue based on product roadmap priorities. The decision to override his judgment cost approximately $580,000 in the first year alone, not counting the cost of replacing him.

Technical debt becomes unpayable. The team identifies critical infrastructure work: the database needs replication, the deployment system needs automation, the monitoring needs improvement. These get deprioritized quarter after quarter behind feature work. Engineers watch the system strain under load, knowing exactly what is coming and when it will break. When it fails, they are asked why they did not prevent it. They stopped arguing for the infrastructure work after it was deprioritized the third time. They leave before the inevitable crisis because they do not want to be blamed for a failure they predicted and were prevented from fixing.

An e-commerce company deferred database infrastructure work for eighteen months. Engineers requested budget to implement read replicas and improve query performance. Each quarter, feature development took priority. Load increased 40% annually while infrastructure remained static. In month 19, the database became the bottleneck for the entire platform. Response times degraded from 200 milliseconds to 4 seconds during peak hours. Revenue declined as conversion rates dropped. The company spent $240,000 on emergency infrastructure upgrades and lost an estimated $1.2 million in revenue during the degraded performance period. Two of the three senior engineers who had requested the infrastructure work had already left. They had correctly predicted the failure timeline and did not want to be present for the crisis.

Smart people forced to do stupid work. Senior engineers earning $180,000 annually are assigned to maintain systems that should be deprecated. Busy work is prioritized over meaningful problems. Process theatre consumes time: estimation ceremonies that produce numbers no one believes, architecture reviews that change nothing, documentation that no one reads. The economic waste is paying premium rates for work that could be done at half the cost, while burning out senior talent on tasks beneath their capability. They leave to find work that uses what they are good at.

A SaaS company had a reporting system built six years earlier that served twelve customers generating $80,000 annual revenue. The system required constant maintenance due to technical debt. A senior engineer earning $190,000 annually spent approximately 60% of her time maintaining this system. The company was effectively paying $114,000 per year to support $80,000 in revenue. When she proposed deprecating the system and migrating the twelve customers to the new platform, she was told those customers were "strategic relationships" that required continued support. She left three months later. Her replacement cost $220,000 to recruit and onboard. The company could have migrated all twelve customers for approximately $40,000 and freed her to work on the core product.

The early signals executives miss

The warning signs exist months before resignation but appear at different organizational levels at different times. Executives typically see only the final stage, when intervention is no longer possible.

What junior and mid-level engineers see first (six to twelve months before senior engineers leave). Senior engineers stop fighting for technical decisions. Architecture reviews become rubber stamps. "We tried that, leadership said no" becomes a common response. The technical debt backlog grows with no allocation. Junior engineers notice because they are the ones implementing the decisions that senior engineers stopped arguing against. They see the seniors quietly disengaging.

A junior engineer at a logistics company observed this pattern over six months. The senior architect who had previously written detailed code review comments began approving everything with "LGTM" (looks good to me). In architecture discussions, he stopped proposing alternatives and simply agreed with whatever product wanted. When the junior asked him privately why, the senior said "I have learned that my opinion does not change outcomes, so I am saving time by not giving it." The junior realized the senior was leaving before the senior had even started interviewing. Three months later, the resignation came. It surprised management completely.

What senior engineers experience (four to eight months before they leave). Pattern recognition: this is going to fail and leadership will not listen. Moral injury: being forced to build what you know is wrong. Loss of faith: my expertise does not matter here. They stop arguing in meetings, start rubber-stamping technical decisions, reduce code review commentary from detailed to perfunctory. This often looks like maturity to executives—they are not arguing as much, they seem more aligned. It is actually resignation.

The behavioral change is visible to anyone who works closely with the engineer but often goes unremarked because it reduces friction. A senior engineer who previously pushed back on unrealistic timelines and questioned technical approaches becomes agreeable. Product managers are pleased. Engineering managers interpret this as the engineer becoming a better team player. The engineer has actually checked out mentally and is conserving energy for interviewing. They have concluded that arguing is pointless and are simply executing instructions while they look for exit.

What managers see (two to four months before resignation). Changed behavior in one-on-ones. Less engagement in team discussions. The engineer updates their LinkedIn profile, attends more industry events, documents their work more thoroughly than before, and trains junior engineers on their systems. Managers often do not escalate this because high attrition reflects poorly on their management. They hope to solve it quietly. By the time it becomes obvious, the engineer has offers.

An engineering manager at a media company noticed one of his senior engineers had started documenting everything: architecture decisions, deployment procedures, system quirks. The manager thought this was positive—finally, the tribal knowledge was being captured. What he missed was the motivation. Engineers typically document thoroughly when they are leaving and feel guilty about the knowledge gap they will create. The documentation is part of their mental transition out. The manager realized this only in retrospect, during the exit interview.

What executives see (zero to one month before resignation). "The senior engineer gave notice." Complete surprise. But the information existed all along at lower levels. It simply did not flow upward because the organization's information architecture filters bad news out of executive visibility.

Why one departure becomes five

One departure is a data point. Three is a pattern that remaining engineers notice. If a respected colleague is leaving, maybe I should look too. Engineers assume departing colleagues know something they do not. This assumption is often correct. The departing engineer has concluded the situation is not fixable and has already explored alternatives. The engineers remaining consider whether they are missing something.

External recruiters notice the pattern. LinkedIn activity increases from the team. Multiple engineers from the same company appear in recruiter searches. Outreach intensifies. A retention problem becomes a recruitment problem. Engineers who were not previously considering leaving begin taking calls. Some discover opportunities they find attractive. The rate of departures accelerates.

A cloud infrastructure company lost two senior engineers within three weeks. Over the following three months, five more engineers left. Post-mortems revealed that the first two departures triggered widespread questioning. Engineers asked: "Why are they leaving? Do they know something about the company's financial health we don't?" The reality was that the first two had left for the reasons described earlier—loss of agency and technical debt. But their departures created information uncertainty that recruiters exploited. The cascade cost approximately $2.2 million in replacement costs and delayed three major product initiatives by a combined eight months.

The knowledge drain is expensive in ways that are difficult to quantify but appear as mistakes over the following quarters. The senior engineer who left knew which three lines of code were critical and which 3,000 could be deleted. Knew which customers had special requirements and why. Knew which systems were stable-but-ugly versus actually broken. This knowledge leaves with them and gets rediscovered through expensive mistakes: deleted code that should not have been touched, customer workflows that break, technical debt that turns out to have been load-bearing.

A payments company discovered this six months after losing a senior engineer who had built their reconciliation system. The engineer had never documented that certain transaction types required special handling due to a quirk in one payment processor's API. The quirk was not mentioned in the processor's documentation; the engineer had discovered it through trial and error three years earlier. When a new engineer modified the reconciliation logic, transactions from that processor started failing. The company spent two weeks debugging, ultimately discovering the undocumented quirk through support tickets with the processor. Those two weeks cost approximately $45,000 in engineering time and caused $180,000 in failed transactions that required manual reconciliation.

Sometimes it really is the money

Compensation is a real factor in some resignations. The signal is timing. If an engineer raises compensation concerns directly before job searching, and their compensation is genuinely below market for their scope, it is a compensation problem. If they cite compensation only when pressed during exit discussion, it is probably not. They were already looking for other reasons and found an offer that provided justification.

Legitimate compensation issues have patterns. The engineer is significantly below market for their actual scope. They are watching junior engineers hired at their salary. Their compensation has not adjusted for expanded responsibility. Critically, they bring this up directly before job searching. "I believe I am underpaid relative to market. Can we discuss this?" This is a compensation problem that can be solved with a compensation solution.

Compensation as excuse is different. The engineer has been interviewing for months, receives an offer for 30% more, and cites market rates during exit discussion. When pressed about whether a matching offer would keep them, they are noncommittal. "I will consider it, but I have already accepted the other role." In these cases, compensation was not the motivating factor. It was the justification factor. The engineer had already decided to leave for the reasons described earlier but uses compensation as the socially acceptable explanation.

The test: would a 20% raise keep them? If yes, it is compensation. If no, it is something else and they are being diplomatic. Most engineers who leave for loss of agency, unpayable technical debt, or meaningless work cannot be retained with money alone. They have concluded the work environment is broken. Compensation becomes the explanation because "I am leaving for more money" is easier than "I am leaving because my judgment does not matter and I am tired of building things I know will fail."

A developer tools company learned this distinction after conducting thorough exit interviews with departing engineers. Of the eight engineers who left citing compensation, the company made counter-offers to five (the ones they most wanted to retain). Three declined the counter-offers despite the offers matching or exceeding their new roles. Follow-up conversations revealed that compensation had not been their real concern. They were leaving because the product roadmap kept pivoting, making their work feel pointless. They cited compensation in exit interviews because it was easier than explaining that they did not believe in the company's direction.

Prevention beats retention bonuses

Early-stage intervention requires executives to hear about problems before they progress to mental resignation. This means creating information channels that bypass the filtering hierarchy. Several approaches work.

Regular skip-level conversations. Allocating several hours per week for direct conversations across all levels provides ground truth. The time commitment need not be enormous. Consistency matters more than frequency. As organizations grow, talk to each person less frequently but maintain coverage. Engineers who get these conversations tell you things they would never tell their manager: what is actually blocking productivity, which technical decisions are causing problems, where morale is declining.

A chief technology officer I advised at a 100-person engineering organization allocated four hours per week for skip-level conversations. With two-week rotation and 30-minute sessions, this covered approximately almost thirty engineers per month, or the entire org across seven months. The engineers knew the CTO slot was available and could book it when they needed it. This created two-way information flow: the CTO heard ground truth, and engineers felt heard. Retention improved measurably. Voluntary attrition declined from 18% annually to 7% annually after implementing this practice. The CTO attributed the improvement directly to early problem identification. "I hear about issues when they are small and fixable. Previously, I heard about them when they were resignation letters."

External diagnostic perspective. Engineers will be more honest with someone who has no authority over their career. A fractional CTO or external advisor conducting interviews across levels hears what people actually think, not what they tell management. This is not because internal executives cannot ask the same questions. It is because the answers will be different when given to someone who is temporary, not threatening, and has no stake in protecting management reputation.

A SaaS company brought in a fractional CTO after losing four senior engineers in six months. The fractional CTO spent two weeks interviewing engineers at all levels. The finding: engineers felt the architecture review process was theater. Proposals would be approved after incorporating feedback from multiple stakeholders, then overridden by product decisions weeks later. Engineers concluded that the architecture review process existed to distribute blame, not to make decisions. They spent hours preparing for reviews that changed nothing. The company eliminated the architecture review process and gave engineering veto authority on technical implementations. The value was diagnostic: identifying actual problems versus officially acknowledged problems.

Action on at least one thing. Hearing problems is insufficient. Engineers need to see that raising concerns produces outcomes. When an engineer mentions that the deployment system is brittle, and the deployment system gets fixed within the quarter, that engineer learns that their input matters. When an engineer mentions the same problem repeatedly and nothing changes, they learn the opposite.

A developer at a healthcare technology company mentioned to the CTO during a skip-level that the test suite took 45 minutes to run, making development slow. The CTO asked why this had not been fixed. The developer said it had been raised with management multiple times but always deprioritized. The CTO allocated budget that week for the developer to spend two weeks optimizing the test suite. Runtime dropped to eight minutes. The developer told three colleagues about the experience. Those colleagues started booking skip-level sessions to raise other issues. The investment was $12,000 in engineering time. The signal sent was: your input produces action. This is worth significantly more than $12,000 in retention value.

The $1.4m misdiagnosis

The cost of getting retention wrong is measurable. Replacing a senior engineer costs $200-280K in direct expenses: recruiting fees (typically 20-25% of salary), sign-on bonuses, and relocation if applicable. Productivity loss during vacancy is $40-75K, assuming three to six months to hire at $150K annual productivity loss. Onboarding productivity drag is $35-40K, assuming the new hire operates at 50% effectiveness for six months. Knowledge loss is harder to quantify but appears as mistakes, slower decisions, and repeated work over subsequent quarters. Conservative total per senior engineer: $275-395K. For five engineers: $1.4-2.0M.

The cost of getting retention right is smaller but requires organizational change. Fixing actual problems means changing roadmap priorities, removing process, or giving engineers technical veto on architecture decisions. The costs are opportunity cost of deprioritized features and political capital spent overriding middle management. These costs are real but much smaller than replacement costs.

The barrier is not cost. It is admission that something is broken and that management may have contributed to the problem. Organizations prefer to believe the problem is market competition for talent because that explanation does not require internal change. "Engineers are expensive and competitive" is easier than "our decision-making processes systematically ignore technical expertise and our information architecture prevents executives from learning about problems until they become crises."

A Series B company lost seven engineers over eighteen months. The CEO believed this was market-driven: competitors were paying more, the company could not match offers, retention was a losing battle. A post-mortem analysis revealed different story. Five of the seven had raised specific concerns about technical decisions, process overhead, or project prioritization in the six months before leaving. None of those concerns had reached executive level. The concerns had been captured in one-on-ones with managers, flagged as "monitored," and never escalated. The executives had operated on the assumption that retention was about compensation. The engineers had operated on the conclusion that their concerns did not matter. Both groups were systematically misinformed about what the other cared about.

Information is cheaper than replacement

The engineers leaving know something executives do not. They know which technical decisions are failing, which processes waste time, and which management practices create disengagement. This information exists within the organization but does not reach executive level through normal channels because hierarchies filter information and middle management has incentive to suppress bad news.

The question is whether executives will learn what is broken from engineers before they leave, or from the problems those engineers would have prevented. The organizations that get this right treat information flow as a strategic priority. They create skip-level channels that bypass filters. They recognize that executive time spent hearing ground truth has higher ROI than executive time spent on strategy based on filtered information. They understand that retention is cheaper than replacement, but only if problems are visible early enough to fix.

The organizations that get this wrong optimize for management comfort over information accuracy. They treat skip-levels as inappropriate, rely on reports that have been systematically scrubbed of bad news, and learn about retention problems when resignation letters arrive. They spend millions replacing engineers who could have been retained for thousands, and they never quite understand why their best people keep leaving.

The calculation is straightforward. Allocating several hours per week for direct conversations with engineers costs perhaps $50,000 annually in executive time. This prevents one senior engineer departure, the intervention pays for itself five times over. In practice, it prevents multiple departures and provides information that improves resource allocation across the organization. The alternative—learning about problems through resignation letters—is cheaper per hour and catastrophically more expensive per outcome.

The senior engineer who left in 2018 is still in the industry. He now works at a company where the CTO maintains regular skip-levels and engineering has veto authority on technical architecture. He is not interviewing. Neither are his colleagues. The company has 12% voluntary attrition, less than half the industry average for companies at their stage. Their executives know what is broken before it becomes unfixable. They learned this through simple mechanism: they ask, and people tell them, because the organizational structure allows information to flow upward without being filtered out.


Continue reading: Part 2 – The Economic Intervention That Stops Engineer Attrition. Information flow is necessary but not sufficient. When executives know there are problems but still choose inaction, the constraint is not communication—it is economics.