"A human being should be able to change a diaper, plan an invasion, butcher a hog, conn a ship, design a building, write a sonnet, balance accounts, build a wall, set a bone, comfort the dying, take orders, give orders, cooperate, act alone, solve equations, analyse a new problem, pitch manure, program a computer, cook a tasty meal, fight efficiently, die gallantly. Specialization is for insects."
— Robert Heinlein, Time Enough for Love
The tech industry has an obsession with specialization. Job postings demand "5+ years of React" or "expert-level Kubernetes experience," as if the ability to navigate one specific toolchain is what separates effective developers from the rest. But what if this approach is fundamentally wrong?
The False Choice
We've been conditioned to think in terms of specialists versus generalists—deep knowledge in one area versus shallow knowledge across many. This creates a false dichotomy that misses the real value: being a generalist is itself a sophisticated expertise.
When you can change a diaper (handle messy, unglamorous problems), plan an invasion (think strategically), and program a computer (understand systems), you develop something more valuable than any single technical skill: the ability to see patterns, transfer knowledge, and adapt quickly to new challenges.
Why Generalists Matter More Than Ever
In our rapidly evolving field, the most effective technologists aren't those who know every Java library by heart. They're the ones who understand core programming concepts well enough to pick up Python, Go, or whatever comes next. They can:
- Bridge domains: Connect business needs with technical solutions
- Ask better questions: Because they've seen how different fields approach similar problems
- Learn faster: Pattern recognition across disciplines accelerates new skill acquisition
- Adapt to change: When the hot framework becomes legacy, they pivot gracefully
The 21 Skills That Matter
Heinlein's list isn't just poetic—it maps directly to what makes technologists effective:
- "Set a bone" → Heal systems, don't just patch them
- "Take orders" and "Give orders" → Lead and follow with equal skill
- "Cooperate" and "Act alone" → Know when to collaborate and when to drive forward independently
- "Comfort the dying" → Help sunset old technologies gracefully while bringing teams into new approaches
- "Fight efficiently" → Be strategic about technical debt and architectural decisions
The Generalist Advantage in Practice
I've experienced this firsthand across a 25+ year career spanning telecommunications (Vodacom, MTN), media (News24 launch team), research (CSIR), fintech (Luno), and enterprise software. Each industry shift required rapid adaptation—but the core patterns of problem-solving, user advocacy, and system thinking transferred seamlessly.
While specialists dig deeper into narrower domains, generalists develop three crucial capabilities:
Curiosity that goes beyond surface-level solutions. Instead of copying from Stack Overflow, they understand why the solution works and when it might break.
Collaboration that knows when to lead and when to learn from specialists. They're comfortable saying "I don't know" and finding the right people who do.
Customer focus that keeps learning aligned with value creation. Not every shiny new technology deserves attention—only those that help users become better at what they do.
Program or Be Programmed
The rise of AI makes generalist skills more valuable, not less. While AI can generate code in any language, it takes human judgment to know which problems are worth solving and how different approaches might play out across an organization's context.
As we delegate more routine tasks to machines, the uniquely human skills—the ability to see connections, ask the right questions, and navigate complex human systems—become our differentiators.
Building Your Range
You don't need to master all 21 of Heinlein's skills (though it wouldn't hurt). Start by:
- Learning fundamentals that transfer across tools and domains
- Practicing translation between different groups and contexts
- Embracing the messy work that specialists often avoid
- Staying curious about fields outside your current focus
- Building real connections with people who think differently than you do
The Bottom Line
Specialization has its place, but the future belongs to those who can span disciplines, translate between domains, and adapt quickly to change. In a world of increasing complexity, we need more people who can see the forest, not just the trees.
The goal isn't to be mediocre at everything—it's to be genuinely excellent at learning, adapting, and applying core principles wherever you land.
Because specialization? That's for insects.
Want to dive deeper into the 21 skills and see how they map to modern tech careers? Check out the full presentation for visual examples and practical applications.
This post was inspired by a talk given in June 2023 and informed by Martin Fowler's excellent article on Expert Generalists.
