Press enter or click to view image in full size
I spent my teens and early twenties working in kitchens on Cape Cod. Not the romantic kind. Just real kitchens. Hot, loud, greasy kitchens where a summer Friday night hits like a wave and doesn’t let up for four hours.
Press enter or click to view image in full size
Everyone assumes I learned software engineering from software. I didn’t. I learned it with a pair of tongs in one hand and six tickets in my head.
Mise en Place: Organization Is God
Mise en place means everything in its place. Before service, you prep. You cut, portion, label, and stage every single thing you’ll need, because once the tickets start you don’t have time to think. You just execute.
The cooks who skipped their mise en place were easy to spot. They’re the ones sprinting to the walk-in mid-rush, leaving their station uncovered, screwing everyone downstream. One unprepared cook can sink a whole line.
Sound familiar?
Software works the same way. The engineers who do well are the ones who set up before they start. Clear plan. Tasks broken down. Environment ready. Tools they actually know how to use. The ones who skip it end up like that cook. Three days into a sprint they’re “blocked,” which is usually a nice way of saying they didn’t do their prep.
I still hear my old chef in my head when I catch myself jumping into code without thinking. Slow down. Get your station right first.
Pressure Cooker: Thrive or Dive
The busiest night of the year was fireworks night on the pier. The entire cape shows up, the dining room is packed wall to wall, the tickets never stop, and I’m on grill and saute trying to keep both stations alive at once.
There’s a specific kind of pressure in that. Something is burning and you don’t know what yet, and there’s no pause button, and the next ticket is already coming.
You learn one of two things in that moment. Either you get faster and calmer, or you fall apart and someone else has to take up the slack. There’s no third option.
Production outages feel exactly the same. The alerts are the tickets. The customers are the dining room. And the same rule applies: panic is a choice, and it’s always the wrong one. You work the problem. One thing at a time. Say what you’re doing out loud.
The kitchen taught me that pressure doesn’t create character, it reveals preparation. If your mise en place is right, you can handle the rush. If it isn’t, no amount of hustle saves you.
The Brigade: Teamwork Saves Lives
Escoffier figured this out a century ago. The brigade system. Every station has a role, every role has a name, and everyone knows exactly where they stand. You stay where you are and trust the people next to you.
It works because it’s explicit. Nobody has to guess who’s doing what.
You’re only as good as the person beside you. If saute goes down, grill drowns. So you watch each other’s backs without being asked. That’s the job.
Good software teams work the same way, though we’d never admit we borrowed it from kitchens. Clear roles. Clear ownership. You trust your teammates to hold their station, and they trust you to hold yours. When someone goes down, the team covers. Not because anyone asked. Because that’s the job.
The best shifts I ever worked felt like a dance. Tickets flying, everyone moving, nobody talking because nobody had to. I’ve had sprints like that too. Rare. Worth chasing.
Customer Obsession: Who’s Eating Your Dish?
In a kitchen, one question matters. Is the plate right?
Nobody in the dining room cares about your process. They don’t care that the fryer was acting up or that you were down a cook. They care about what’s in front of them. And they’re right to.
Software engineers forget this constantly. We fall in love with our architecture, our clever abstractions, our process. Meanwhile the user is staring at a confusing screen wondering why the button doesn’t work.
The plate is the product. Everything else is just how you got there. If the user’s experience is bad, nothing else you did matters. That focus, plate first, always, is the most valuable thing I took from kitchens.
Controlled Chaos: Navigating the Storm
Here’s the thing nobody tells you about kitchens. They’re chaos. Controlled chaos, but chaos. Something always goes wrong. A supplier shorts you. The health inspector walks in mid-rush. Your best cook calls out.
You don’t prevent the chaos. You build for it. Discipline in the things you can control, adaptability in everything else. Prep hard, then stay loose.
Software is identical. The roadmap will change. Requirements will shift mid-sprint. Something will break at the worst possible time. Teams that try to plan the chaos away get crushed by it. Teams that accept it and stay flexible surf right through.
The kitchen version is simple: expect the rush, prep for the rush, and when it comes anyway, just cook.
Seasoned Wisdom
People ask me sometimes if I regret the years I spent in kitchens instead of starting my career earlier. Funny question. Those years were the career. They just didn’t look like it yet.
Everything I know about pressure, preparation, teamwork, and serving the person on the other side of the counter, I learned with a towel over my shoulder and burns on my forearms at a restaurant in Wellfleet.
Bourdain wrote that cooking taught him about life in ways nothing else could. He was right, and it goes further than that. It teaches you about work. All work. The kind where it matters, where people are counting on you, where there’s no hiding.
So here’s to the line cooks, the dishwashers, the kids working grill on fireworks night. You’re learning more than you know. And to the engineers reading this: go work a dinner rush sometime. It’ll teach you more about shipping software than any methodology ever will.