Dumbest Default: Functional Teams

If you’re still organizing your teams by frontend and backend in 2025, you’re doing it wrong. The fact that this even needs to be said is wild to me. How teams should be organized feels like one of those questions we, as an industry, should have solved by now. Everyone “knows” that end-to-end, cross-functional teams work better. Everyone “knows” that slicing by profession kills speed and collaboration.

And yet, here we are.

Easier?

Over the last year, I’ve seen startup after startup, across continents, default to the same lazy template: a backend team and a frontend team. Sometimes it’s first-time founders. Sometimes it’s experienced leaders who’ve already lived through the pain of silos and should know better. And often, I hear the same excuse: “it’s easier at the beginning.”

Easier for what, exactly? For setting yourself up for communication bottlenecks? For ensuring every release requires a round of cross-team finger-pointing? For building silos before you even have users?

Yes, it might feel more “natural” for a backend engineer to manage other backend engineers—if your idea of management is simply being the senior tech in the room. But that’s not management. That’s mentorship. Management is about creating alignment, momentum, and outcomes, not about code reviews.

Differences

When you split teams by profession, you’re baking silos into your company’s DNA. You’re fragmenting ownership and slowing collaboration. You’re ensuring that no single group can take a goal and run with it from start to finish.

Cross-functional teams—even tiny ones of two or three people—are different (though I don’t recommend nano teams!). They can focus on an objective and move fast on their own. They’re like organizational atoms: small, complete, and capable of delivering value without constant coordination or translation.

They also make Product’s life saner. Instead of breaking everything into backend tickets and frontend tickets, Product can speak in terms of outcomes, behaviors, and user value. Everyone’s working toward the same result, not just their slice of it.

The Only Way Forward

The benefits stack up fast. Less management and sync overhead. More flexibility to adjust as goals change. More room for people to actually become full-stack, not as a buzzword, but because it’s how real collaboration looks.

Yes, it might feel harder at the start. That’s just the discomfort of doing things right. Once you separate “management” from “technical seniority,” you remove the self-imposed restriction that a manager must understand the code better than anyone else on the team. And suddenly, the whole system starts to make sense.

Cross-functional isn’t a nice-to-have. It’s the default. Anything else is just organizational debt you’re knowingly creating.