Cover image for blog post: "The Corporate Cowards: How Toxic Companies Kill Great Engineers"
โ† Back to blog posts

The Corporate Cowards: How Toxic Companies Kill Great Engineers

Great teams aren't built by hiring great engineers. Here's how quiet, polite toxicity kills ownership, code quality and the people who care.

Published onJune 01, 20268 minutes read

Table of Contents

One of the biggest myths in the software industry is that great engineering teams are built by hiring great engineers.

They aren't.

I've worked with incredibly talented developers who eventually became disengaged, indifferent and unwilling to contribute beyond the bare minimum. I've also worked with average developers who grew into exceptional engineers because they were surrounded by a culture that rewarded curiosity, ownership and continuous improvement.

The difference was never talent.

The difference was culture.

The toxicity nobody talks about

When people hear the term toxic workplace, they usually picture shouting managers, impossible deadlines, public humiliation and constant pressure.

Those environments certainly exist. But some of the most damaging engineering cultures are far more subtle.

On the surface, everything looks professional:

Yet beneath that polished exterior sits a culture that quietly destroys accountability and discourages anyone from caring too much. It's harder to spot than the loud kind of toxicity, and because it's harder to spot, it lasts much longer.

A simple pull request that revealed a bigger problem

Recently, while reviewing a pull request, I asked a few straightforward questions:

These weren't major architectural concerns. They weren't requests to redesign the application.

They were ordinary engineering discussions, the kind that happen every day inside healthy teams.

To make it concrete, here's an illustrative example of the kind of thing I mean (not the actual code from that review):

// Before: the component can't do anything useful without an ID,
// but we pass an empty string anyway and hope for the best.
<UserCard userId={user?.id ?? ''} />
 
// After: make the requirement explicit and handle the missing case.
{user?.id ? <UserCard userId={user.id} /> : <UserCardSkeleton />}

Small, boring, reasonable questions. Exactly the sort of thing code review exists for.

Pull request comment thread: a reviewer asks why the Skeleton component is not in a different file, and the reply begins "Actually, this component is not implemented by me"

When ownership disappears

What happened next was far more interesting than the code itself.

Instead of discussing whether the observations were valid, the conversation immediately shifted toward ownership:

The discussion was no longer about improving the software. It became an exercise in distancing people from responsibility.

And that is one of the earliest warning signs of a toxic engineering culture.

In healthy teams, the PR is yours

In healthy teams, once code appears in your pull request, you own it.

It doesn't matter whether you originally wrote it. It doesn't matter who committed it first. What matters is whether the code deserves to exist in its current state.

In toxic teams, survival comes first

Toxic teams think differently. In toxic environments, survival becomes more important than ownership. Engineers learn that admitting flaws creates risk, while avoiding responsibility creates safety. Over time, that behavior becomes normal.

People stop asking:

"Can we improve this?"

And start asking:

"How can I avoid being associated with this?"

Here's how the same moments tend to play out in each kind of team:

SituationHealthy teamToxic team
A reviewer spots a problem"Good catch, let's fix it.""I didn't write that part."
Old code shows up in a diffWhoever touches it improves itNobody touches it
Someone asks "why?"The reasoning gets explainedThe question gets deflected
A suggestion is debatableTrade-offs are discussedIt's labeled "personal preference"
Someone raises a concern with leadershipThe concern is engaged with, even if declined"Do it yourself then"

Death by a thousand compromises

Software systems rarely collapse overnight. They decay slowly.

Technical debt piles up not because engineers fail to recognize problems, but because the culture actively discourages solving them.

The most dangerous phrase in engineering

During the review, one response stood out. A discussion about simplifying code was quickly dismissed as:

"Personal preference."

Pull request comment thread: a suggestion to one-line an early return is answered with "From my perspective, this is more like a personal preference"

At first glance, the phrase seems harmless. Sometimes it is. Not every style debate deserves a long thread, and real preferences do exist.

But in many organizations, "personal preference" has become a convenient escape hatch for avoiding technical discussions altogether. Once a topic is labeled subjective:

The conversation simply dies.

How teams go stagnant

Over time, organizations become intellectually stagnant. Code reviews stop being collaborative quality exercises and turn into ceremonial approvals. Engineers stop challenging decisions because experience has taught them that meaningful discussions will be dismissed before they begin.

Everyone stays "productive":

Meanwhile, quality quietly declines.

The leadership failure

The most revealing moment came later.

After trying to discuss these concerns with leadership, I received a response that can be summarized as:

"If you care about it so much, do it yourself."

That single response revealed a much bigger problem than any code review ever could.

Leadership is not about agreeing with every suggestion. Leaders are allowed to:

Those are legitimate business decisions.

But leaders cannot dismiss the act of raising concerns itself.

And eventually, the company gets exactly what it trained its people to become.

The illusion of alignment

Many leaders mistake silence for success.

Pull requests get fewer comments. Meetings get shorter. Disagreements disappear. Everyone appears aligned.

An empty, quiet office meeting room with a table and chairs Photo via Unsplash

But often, what has actually disappeared is engagement.

The most dangerous moment in any company is not when engineers complain. It's when they stop complaining.

Complaints mean people still care enough to fight for a better outcome. Silence often means they have accepted that nothing will change.

By the time leadership notices the consequences:

The organization then starts searching for technical explanations to what is fundamentally a cultural problem.

A tired man in a suit sitting at a desk in a dark office at night, head in his hands Photo via Unsplash

Wrapping up

Toxic companies rarely fail because they hire bad engineers. More often, they fail because they systematically teach good engineers that caring is a waste of time.

These are not isolated incidents. They are symptoms of a culture that rewards compliance over excellence.

Key takeaways

Once an organization successfully teaches its engineers that caring is pointless, recovering from that lesson is far harder than fixing any bug, refactoring any system or rewriting any codebase.

Originally published on dev.to.


Mascot