My friend Sushant and I have a running joke about where specialization is headed.
At the rate the world is going, we'll soon have left ear specialists. Not ENT specialists -- just the left one. The right ear? That's someone else's problem.
We laugh about it. But then we look around at how software teams are structured and realize:
We're already there.
The Age of the Slice
Somewhere along the way, building software became an assembly line.
You have frontend engineers who won't touch a database. Backend engineers who "don't do CSS." DevOps engineers who deploy code they've never read. Product managers who define features they can't evaluate technically. QA teams who test things they didn't build.
Everyone owns a slice. Nobody owns the bread.
And to be fair -- this made sense. Software systems got complex. Companies got big. Specialization was the logical response to scale. When you're building at the size of Google or Netflix, you need people who go incredibly deep on one thing.
But here's what got lost in translation: that model got copy-pasted onto every startup, every small team, every early-stage company that has no business running like Google.
The Forest and the Trees
There's a foundational idea in systems thinking that gets quoted often but understood rarely.
The whole is more than the sum of its parts.
Aristotle said it. Systems thinkers have been unpacking it ever since. And yet we keep building teams -- and products -- as if the opposite were true.
Here's the nuance that gets missed: breaking a system into parts is a genuinely useful tool. It makes complexity legible. It gives you handles on something that would otherwise be overwhelming. You should study the parts.
But there's a trap hidden in that usefulness.
Once you've broken something down, you cannot reconstruct the whole simply by adding the parts back together. The whole was never just a sum. It was the relationships between parts, the emergent behaviors, the things that only exist when everything is working in concert. None of that lives in any individual piece.
A chord is not three notes stacked. A team is not headcount added up. A product is not a list of features.
And yet we act like it is.
The frontend engineer optimizes the UI. The backend engineer optimizes the API. The DevOps engineer optimizes the pipeline. Each person doing their job well, in their lane. Locally rational. Globally incoherent.
Specialization makes the parts legible. It doesn't make the whole visible. And nobody -- not the engineering manager, not the product lead, not the architect -- can claim to truly understand the whole just by aggregating reports from each specialist. That's not understanding a system. That's reading a menu and thinking you've tasted the food.
We miss the forest for the trees. And the worst part is, we don't even notice -- because everyone's tree looks great.
I've Always Been a Generalist
I'll be honest -- for most of my career, "generalist" felt like a polite way of saying I hadn't committed to anything yet.
In a world that rewards depth, breadth gets treated as a gap in your resume. Interviewers would probe for my "primary stack." Job descriptions wanted 5 years of X, not 2 years each of five things.
But here's what I noticed over time: the best work I did was never in a lane. It was when I could see the whole problem -- talk to the user, design the solution, build it, ship it, watch it fail, fix it, ship it again. No handoffs. No waiting. No translation errors between teams.
The generalist instinct wasn't a weakness. It was the whole point.
Full-Cycle Engineering
Netflix has an internal concept called the "full-cycle engineer" -- an engineer who owns a feature from idea to production and beyond. They don't throw code over a wall to ops. They don't wait for a designer to spec every pixel. They carry the thing all the way through.
I stumbled on the term and thought -- that's it. That's the thing I've been doing and didn't have a name for.
So I've claimed it.
A full-cycle engineer isn't just a full-stack developer with extra steps. It's a different orientation toward the work. It means:
- 01You care about the problem, not just the ticket.
- 02You can go from whiteboard to working product without dropping the baton.
- 03You think about users when writing backend code, and about systems when designing UI.
- 04You ship things and take responsibility for what happens after.
It's not about knowing every technology. It's about never losing the thread.
Why This Matters More Than Ever
Here's the irony: as the industry doubles down on specialization, the tools are moving in the opposite direction.
AI is collapsing the gap between disciplines faster than any of us expected. Writing code, designing interfaces, setting up infrastructure, debugging systems, drafting specs -- tasks that used to require different specialists can now be navigated by one person with the right instincts and the right tools. The barrier to being functional across the stack has never been lower.
This doesn't mean specialists are obsolete. Deep expertise still matters enormously. But it does mean the advantage of specialization is narrowing, while the advantage of systemic thinking -- of being able to hold the whole picture in your head -- is growing.
A thoughtful generalist with strong judgment can move faster today than a team of specialists could five years ago. The leverage is real, and most of the industry hasn't caught up to what that means yet.
And nowhere is this more true than at the early stage.
Early-stage startups are not small versions of big companies. They are fundamentally different organisms. They don't have the luxury of committees, handoffs, and specialization silos. Every day spent in coordination overhead is a day not spent learning whether the product actually works.
What they need is someone who can:
- MonSit with a founder and understand the business problem deeply.
- TueHave a technical approach sketched out.
- ThuHave something working and testable.
- NextIncorporate feedback and ship a cleaner version.
That loop -- tight, fast, whole -- is what creates early momentum. And it only happens when one person or a very small group can see and own the entire cycle without dropping the baton.
A committee doesn't move like that. A specialist waiting on another specialist doesn't move like that.
There's also something subtler going on.
When you own the whole cycle, you make better decisions at every layer. You write backend code differently when you know you'll also be building the UI that consumes it. You design APIs differently when you're also the one debugging them at 2am. You make infrastructure choices differently when you're also the one explaining costs to a founder.
Ownership changes how you think. It makes you naturally conservative about complexity, naturally curious about edge cases, naturally invested in the outcome. You can't blame the previous handoff because there was no handoff. The whole thing is yours.
This is what the best founding engineers have always understood intuitively. And it's what gets systematically engineered out of people as companies scale and roles narrow.
The world is getting more complex. The tools are getting more powerful. And the premium on people who can think in whole systems -- not just optimized parts -- is quietly going through the roof.
Early-stage startups don't need a committee. They need someone who can hold the whole picture in their head and make it real, end to end, without losing the thread.
That's what a full-cycle engineer is.
And I think we need a lot more of them.
I work with early-stage startups as a fractional CTO and full-cycle engineer -- helping founders go from idea to working software. If that sounds like what you need, let's talk.
