Skip to content
← Back to Writing

The McDonald's Drive-Thru Cheater and the Four Types of People

· 7 min read
engineering-practice teams culture

There’s a McDonald’s near my house I hit for cheap coffee. The drive-thru is one lane that splits into two just before the speakers, then merges back into one. It works perfectly, as long as everyone follows the rule nobody wrote down: you join the line before the split and wait your turn.

There’s always one person who doesn’t.

When the line backs up past the split, someone peels out early, forms a second lane on the wrong side of the yellow paint, and cuts in at the front. And every time it happens, I catch myself doing the same thing. I start cataloguing exactly what kind of person does that.

Turns out there are four kinds. Once you can see them in the drive-thru, you can’t stop seeing them at work. The fork has no cop and no consequence, just a shared understanding everyone agreed to and nobody signed. That’s your codebase. That’s the review queue, the on-call rotation, the sprint board. Same setup, same four people.

The Unaware

Some drivers genuinely don’t see the queue. The split never registers as the end of a line, so cutting in front of it never occurs to them. It isn’t malice. It’s a missing mental model.

You work with this person. They ship code that bypasses the team’s standards, not because they’re cutting corners but because they can’t see the shared system they’re standing in. They don’t picture their PR landing in someone else’s morning. They don’t count a skipped doc comment as a cost the next developer pays to figure out what they meant. The norm exists. It hasn’t crystallized for them yet.

This is the easy one. Awareness is teachable. Show them the commons and the behavior usually follows. Nobody here is a villain. They’re just new to the road.

The Conscientious

These drivers see the fork, feel the flicker of temptation, and stay put. They know what cutting in would do to the people who already waited, so they don’t.

That’s not nothing. It’s the machinery of a conscience working as designed. Albert Bandura’s work on moral self-regulation describes it precisely: people build internal standards that flag a violation before they act, then accept the self-imposed cost of not acting. “I could pull out here, but I won’t” is that system running out loud.

At work, this is the engineer who spots the flaky test the last PR introduced, realizes the fix adds an hour to their own ticket, and fixes it anyway. They write the comment nobody asked for. They review pull requests carefully when no rule says they have to. Research on code review keeps landing on the same finding: thoroughness comes from intrinsic motivation, not enforcement. This person has it calibrated right. No carrot, no stick, no difference.

They do nothing remarkable. That’s the point. They’re the load-bearing wall you only notice when they leave.

The Clever Idiot

Here’s where it gets interesting.

This is the driver who spots the opening, feels smart about spotting it, and takes it, sure they’ve seen something the suckers behind them missed.

Two things are happening at once. The first is moral disengagement, the quiet rewrite that turns “I’m cutting in front of people” into “I found a gap they didn’t.” The second is a flavor of Dunning-Kruger. The insight they’re so pleased with isn’t one. Every driver saw the same fork. Most chose not to take it. The Clever Idiot didn’t find a loophole. They acted on the impulse everyone else suppressed, then reverse-engineered a flattering reason why.

This is the most common of the dangerous engineers, and the most tiring to work with. They skip the test suite because “CI is slow and I know this works.” They push straight to main because branch protection has an admin override and they’re in a hurry. They take on debt the whole team will repay and call it being scrappy, while the people following the process get filed under bureaucrat. The tell is always the pride. They think they reasoned their way to a shortcut the careful engineers were too timid to see.

The careful engineers saw it. They did the math, and the math is why they passed. One analysis put the developer’s day at roughly 42% spent wading through bad code and technical debt. That number is the compounding interest on a thousand clever shortcuts, each one taken by someone certain theirs was free.

The Indifferent

The last driver sees the fork, knows exactly what it means, knows what cutting in costs everyone behind them, and does it anyway. Not because they’ve reframed it. They just don’t care enough to stop.

This one isn’t moral disengagement. There’s nothing to disengage. It’s low empathy plus a cold little sum: the risk of getting honked at is near zero, the reward is a faster coffee. Harvard Business School research on queues found most people won’t confront a line-cutter at all, which means the arithmetic almost always favors cutting. The Indifferent ran that math and liked the answer.

The engineering version is rarer and does more damage. They know what skipping review does. They understand what undocumented complexity costs the next person. They’ve simply decided their velocity this week outweighs everyone else’s next quarter. Machiavellian behavior in engineering has a documented signature: less knowledge sharing, higher turnover, information hoarded as an advantage instead of passed along as a tool. It’s not a clinical diagnosis. It’s just someone whose empathy ends at their own deadline.

How a Team Breaks Down

The queue has no referee. No cop, no fine, no consequence. Researchers at Warwick Business School call what holds it together virtual bargaining: everyone behaves as if they’d negotiated a rule together, even though no one ever did. Most people honor the imaginary deal because most people are strong reciprocators, not pure maximizers.

But it only takes one. Once a single Clever Idiot or Indifferent crosses the line and gets away clean, everyone watching learns the exploit works and costs nothing. A norm violation that goes unpunished spreads. And nobody confronts the offender, because each person assumes someone else will. They’re all annoyed. They all stay quiet. The lane turns into a free-for-all.

A team degrades the same way, and there’s data on it. Research on pull requests found that assigning a review to a named person instead of a team channel cut turnaround time sharply. Tag it to “the team” and everyone assumes someone else has it. Tag it to you and the diffusion of responsibility evaporates. It’s the drive-thru exactly: everyone waits for someone else to honk. The same pattern turns up in open source, where contributor engagement can fall as a project grows, because the larger the crowd, the easier it is to assume the upkeep is somebody else’s problem.

The Taxonomy

The fork is a small daily experiment in cooperation, run outdoors on a rotating cast of strangers. The four types it produces have nothing to do with McDonald’s. They show up anywhere the rules are implicit, nobody’s enforcing them, and defection pays.

TypeOn the team
The UnawareBreaks norms without seeing the system they’re part of
The ConscientiousFixes the flaky test, writes the comment, reviews with care
The Clever IdiotTakes on debt and calls it pragmatism
The IndifferentKnows the cost to everyone else, ships anyway

The useful move isn’t ranking them. It’s noticing that the Conscientious, the Clever Idiot, and the Indifferent all started in the same spot. They saw the same fork. The Unaware will learn the road eventually. The other three already know it cold.

What separated them was decided long before they reached the speaker.

The fork just gives them somewhere to show it.

You've read this far. Let's talk.