Generalist or specialist (and the trap of both)
How to decide what to commit to, when, and what to refuse to commit to even when it pays better. The choice that quietly compounds for a decade.
Prerequisites
Stack
a sheet of paperyour last 6 months of work as evidence
By the end of this module
- Drop the false binary — most successful engineers are T-shaped, not pure either.
- Pick a depth at the right time in your career, not too early and not too late.
- Recognise when a specialty is decaying, before the market does.
- Filter opportunities through the 'interesting + valuable + not-yet-saturated' lens.
The question every engineer eventually faces — pure generalist or pure specialist — is asked badly. It’s posed as a binary, as if you have to commit to one shape forever in year three of your career. The engineers who actually do well at year fifteen do not commit to one shape. They are T-shaped: a wide foundation across the field, with one or two areas of real depth that the market values, that they enjoy, and that they swap out every five to ten years as the field changes.
This is the close-out module of the curriculum, and the message of it is harder than “specialise” or “stay broad” — both of which are lazy advice. It’s: make the bet, but make it consciously, on something with the right shape, at the right time, and be ready to swap the bet out when the world changes. Most of the costly mistakes engineers make in their thirties trace back to specialising too early on the wrong thing, or refusing to specialise at all and being fungible at forty. Both fail for opposite reasons. Both are avoidable.
Set up — the evidence audit
Before you pick a direction, look at the data you already have. Open your last 6 months of work — your commits, your shipped projects, your blog posts, the side projects you got excited about, the talks you attended, the conversations you went deep in.
Write three lists:
- What I keep coming back to — the topics or problems that you find your way back to even when nobody’s asking.
- What I know more about than most peers at my level — even if it’s small, even if it’s weird.
- What I’m currently being paid for that I’d want to keep doing for a decade — and which I wouldn’t.
Most students think they have to pick from a clean menu of options. You don’t. You pick from the evidence of what you already gravitate toward, refined by what the market actually values. The two lists rarely line up perfectly — that gap is where the real career decision lives.
Read these first
Three sources, in this order, then think:
- David Epstein — Range (chapters 1-4). book · 2 hrs · the best argument for late specialisation, with data. Read it even if you think you already know what you’ll specialise in.
- Cal Newport — So Good They Can’t Ignore You (the “career capital” chapters). book · 90 min · the counterweight: depth is the asset, not passion.
- Will Larson — Trunk and branches model. post · 15 min · a clean engineering-specific framework for the same question.
- Patrick McKenzie — The Opposite of Money. post · 30 min · why some specialties pay 3x what others pay for the same effort. Uncomfortable but accurate.
Stop. Don’t read “find your passion” content. The careers built on it underperform careers built on what’s interesting and valuable.
The false binary
The way the question is usually posed — “are you a generalist or a specialist?” — is the wrong frame.
| Pure shape | What it actually looks like at year 15 |
|---|---|
| Pure generalist | Knows a little about everything, doesn’t have leverage in any one area, fungible with any 5-year engineer, often the first cut in layoffs. |
| Pure specialist | Deep in one thing, that thing is now obsolete (the database vendor, the framework, the market) — narrow network, hard to pivot. |
| T-shaped | Broad enough to navigate any system, deep in one or two specific areas the market values. Most successful engineers at year 10+. |
The T-shape is not a compromise; it is the actual winning strategy. A pure generalist gets undercut by anyone with depth. A pure specialist gets stranded when the world moves. The T-shape gets to ride waves: depth in one thing now, broaden, depth in something new, repeat.
The pure-generalist trap
The pure generalist sounds attractive — “I can do anything!” — and is the default at year 0-3, which is correct. The trap is staying there past year 5.
What it actually looks like: you’ve done a year on the frontend, six months on infra, eighteen months on a backend service, a brief stint on data pipelines. You’re a competent contributor in any of them. You’re an expert in none. When the company hires for a senior frontend lead, they look for someone with five years of frontend, not five years of “various.” When the company hires for a staff engineer, they look for someone with deep technical leverage in one area, not someone who has touched everything once.
The market pays a premium for depth. It pays roughly the median for breadth. A generalist who is also a great communicator and prioritiser can get to senior, sometimes even staff, on those skills alone. But “generalist” plus “average communicator” is the most fungible career shape there is — fine when the economy is hiring, first to be cut when it isn’t.
The pure-specialist trap
The opposite trap is staying too narrow in something whose value is decaying.
The COBOL programmer in 1995. The Flash developer in 2010. The MapReduce specialist in 2018. The non-LLM “ML engineer” in 2024 who hadn’t touched transformers in three years. Each of them had real expertise. Each was over-confident that the depth would always pay. Each then had to start over in something new, often at a worse career stage than peers who had stayed broader.
The signal a specialty is decaying: nobody hires for it anymore at your level. Job listings for the skill drop. The conferences shrink. The interesting projects in the field have moved on, and you’re working on maintenance. The first time you notice this, you have maybe 18 months to pivot before the market reprices you.
The other failure mode: narrow network. A specialist’s network is shaped by the specialty. When the specialty fades, so does the relevance of the network. The generalist who knew people in five different areas has more pivot options.
The career-stage move
The right move is not the same at every stage. Roughly:
| Stage | Right move | Why |
|---|---|---|
| Years 0-3 | Broad and curious | You don’t know what you’ll like or what’ll pay. Sample widely. |
| Years 3-7 | Pick a depth | The first specialty. The data you’ve collected says what to commit to. |
| Years 7-12 | Stack a second depth | Add another, ideally one that complements the first. T-shape complete. |
| Years 12+ | Swap or extend | Either deepen further into a leadership track or swap out the first specialty for something newer. |
A few specifics:
- Years 0-3 broad. Don’t over-commit early. The student who declares themselves a “distributed systems engineer” in year 1 is making a bet on incomplete data. Spend 3 years working across enough surfaces (frontend, backend, infra, data, ML, security) to have a real preference rooted in evidence.
- Years 3-7 deep. This is the critical pick. Pick the depth you can sustain enthusiasm for for at least 5 years, that the market still values then. The “interesting + valuable + not-yet-saturated” filter (below) is what to apply.
- Years 7-12 stack. A second depth that complements the first multiplies your value. ML + systems. Frontend + design. Security + ML. Backend + the specific industry domain. A T with a second crossbar is far stronger than a single-arm T.
- Years 12+ swap. Specialties last 5-10 years on average. The engineer who was a Hadoop expert in 2014 had to become something else by 2020 to stay relevant. Plan for it.
The “right age to specialise” — usually 25-30 — comes up because by then you have the data and the runway. Specialise earlier and you’re guessing. Wait longer and you’ve used too much of the optimal-leverage years on breadth.
How to spot a decaying specialty
The early signals, in increasing order of urgency:
- The conference talks are about historical context, not new problems. When the talks start being “the early days of X” instead of “what we’re shipping in X,” the field’s gravity is shifting.
- The senior people in the field are quietly moving. Watch the staff/principal engineers in your specialty. When they pivot, that’s a strong signal.
- Job postings in the specialty are declining year-over-year. Search a major board for the keyword. Compare to a year ago.
- The companies hiring for the specialty are shrinking. When the buyers of the skill are losing market share, the price of the skill drops, regardless of how good you are.
- The new tooling makes the specialty automatable. When a tool can do 80% of what your specialty did, your wage gets compressed to the marginal value above the tool. This is happening to several specialties right now.
If you’re seeing two or more of these, plan a pivot. Not panicked. Deliberate. 12-18 months of investing nights and weekends in the next thing, while your day job stays the current thing, is the right shape. By the time the market repricing is obvious, you’ve already moved.
The “interesting + valuable + not-yet-saturated” filter
The three-part filter that helps pick a depth, when it’s time to pick:
- Interesting: Would you do this if pay were equal to other options? Honestly. Not “I should be passionate about it” — would you sit with it for hours on a weekend, voluntarily, in five years’ time? If no, skip. The depth requires sustained voluntary engagement that doesn’t sustain on money alone.
- Valuable: Does the market pay well for this, now? Specifically: is there a hiring premium, and is the work non-trivial enough that it can’t be commoditised by a year of someone else’s effort?
- Not-yet-saturated: Are there fewer than ten thousand experts in the world right now? Is the field still in the phase where new people can become recognised? Specialties past saturation (e.g., “general full-stack web developer” in 2026) reward only the very top performers.
A specialty that hits all three — interesting + valuable + not-saturated — is the bet to make. ML systems engineering in 2026 hits all three. Pure-frontend React in 2026 hits one (valuable, sometimes). The framing tells you what’s worth committing to and what isn’t.
When paying more for boring specialty work is the wrong call
A specific trap: a recruiter offers you 30% more to work on a legacy stack you’ve already proven you can handle. The math looks great. The career math doesn’t.
You spend two years getting deeper into a thing whose market is shrinking. The 30% extra cash compounds while your skill cap doesn’t. Two years later, the higher comp puts you in a “senior X engineer” band, where X is now niche, and your next job is harder to find because every step you take in the legacy stack widens the gap to where the market is.
The rule of thumb: the specialty work has to either be at a market-leading company (where the rest of the experience compensates) or in a domain that’s still growing. Legacy skill at a non-prestige company at higher pay is one of the most common career mistakes engineers make in their thirties, and they don’t see it as a mistake because the cash is real.
Choosing a depth — the three questions
When you’re at year 3-5 and need to pick, run each candidate depth through these questions:
- Would I do this if pay were equal? If you’d pick frontend over ML systems given equal pay, that’s important data. Pay differentials don’t last forever; the underlying preference does.
- Do I have a contrarian view in this area? Specialists who are remembered have an opinion the average person in their field doesn’t share. It doesn’t have to be revolutionary — just real, defensible, your own. If you don’t have one yet, you’re not deep enough to specialise here.
- Will the market still pay for this in 5 years? Use the decaying-specialty signals above. If the trend lines for the specialty are flat or up over 5 years, fine. If they’re already curving down, pick the next thing instead.
A depth that’s a strong yes on all three is the bet to make. A depth that’s a no on any one is a bet you’ll regret in three years.
Going deeper
When you have specific questions, in this order:
- Will Larson — Staff Engineer (the staff archetype chapters). staffeng.com · the actual career shapes that work past senior level.
- Tanya Reilly — The Staff Engineer’s Path. book · how to be a senior IC who isn’t a manager, where the depth lives.
- Erik Bernhardsson — The two types of programmers. post · 10 min · a useful sorting hat for “where do I belong.”
- Marc Andreessen — Guide to Personal Productivity (the section on portfolio careers). archive · 30 min · uncomfortable, opinionated, useful.
Skip “follow your passion” content. It’s been examined and the data is not in its favour.
Checkpoints
If any one wobbles, the corresponding section above is what to reread.
- Why is the “generalist or specialist” binary wrong? What does the T-shape actually look like at year 10?
- What’s the trap of pure-generalist at year 5+? What’s the trap of pure-specialist when the market shifts?
- Walk through the right move at each career stage — years 0-3, 3-7, 7-12, 12+. Where are you now?
- Name three of the five signals that a specialty is decaying. How would you spot them in your current focus area?
- The three questions to filter a depth: name them. Which is hardest to answer honestly for the specialty you’re considering?
If you can answer all five from memory, you’ve earned 07.5 — and with it, the entire curriculum. There is no module 07.6. The rest of your career is yours to write.
The CS student who finished this curriculum in 2026 is not the same person as the one who finished a CS degree in 2018. You have the technical floor (the dozen data structures, transformers from scratch, the system-design vocabulary), the build proof (the agent, the side projects, the OSS contributions), and the career mechanics (the cold email, the interview gauntlet, the negotiation, the depth choice). What’s left is the only thing that actually compounds: showing up next Tuesday and doing the next thing well.
Go build.