Skip to main content

2 posts tagged with "generalists"

View All Tags

· 4 min read
Izzi Koning

"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.

· 4 min read
Izzi Koning

Working as a technical consultant across various organizations, I've observed patterns in how companies scale and specialize their roles. These patterns remarkably mirror concepts from evolutionary biology and systems theory, which I discovered while researching organizational design methodologies.

Breaking Down Organizational Evolution

Just as we can break down software into Actions, Calculations, and Data, we can classify organizational evolution into three key aspects:

  1. Structural Evolution
  2. Functional Specialization
  3. System Integration

Let me share how I've adapted these concepts in practice.

The Single-Function Phase

In early-stage organizations, like in primitive organisms, we see a pattern I call the "single-function phase." Here's what it looks like in practice:

Early-Stage Organization
├── Generalist Roles
│ ├── Sales/Marketing
│ ├── Product Development
│ └── Operations
└── No Clear Specialization

During this phase, team members handle multiple functions, similar to how single-celled organisms perform all life functions within one cell.

Specialization Patterns

Through my work with scaling companies, I've observed that specialization typically follows this pattern:

Specialized Organization
├── Core Functions
│ ├── Sales
│ │ ├── Field Sales
│ │ └── Inside Sales
│ ├── Engineering
│ │ ├── Frontend
│ │ └── Backend
│ └── Operations
│ ├── Customer Success
│ └── Support
└── Specialized Units

This structure emerges naturally when:

  • Team size exceeds 25 members
  • Product complexity increases
  • Customer needs diversify

View the code examples and diagrams on my GitHub: github.com/izzi-ink/scaling

Example: BA Role Evolution

Let me illustrate this with a real-world example from my experience as a Business Analyst. Here's how the BA role typically evolves:

Initial State:

BA Role (Generalist)
├── Requirements Gathering
├── Process Modeling
├── UI Design
└── Testing

Evolved State:

Specialized BA Roles
├── Technical BA
│ ├── System Requirements
│ └── Technical Documentation
├── Process BA
│ ├── Business Process Analysis
│ └── Stakeholder Management
└── UI/UX BA
├── Interface Design
└── User Research

Systems Integration

The challenge isn't just in creating specialized roles but in maintaining effective integration. I've found this template useful for documenting role interactions:

Cross-Functional Process
├── Input
│ ├── Source Role
│ └── Data/Requirements
├── Process
│ ├── Primary Role
│ └── Supporting Roles
└── Output
├── Deliverable
└── Stakeholders

Practical Application

Here's a simple checklist I use when advising organizations on role specialization:

  1. Monitor these triggers:

    • Team size exceeding capacity
    • Quality issues
    • Delivery delays
    • Communication overhead
  2. Document current state:

    • Role responsibilities
    • Process flows
    • Communication patterns
  3. Plan transition:

    • Identify specialization needs
    • Define new roles
    • Create integration points

Learning From Nature

The fascinating part about this approach is how it mirrors natural evolution. Consider these parallels:

Biological Evolution      |  Organizational Evolution
-------------------------|-------------------------
Single-cell organism | Startup (generalist roles)
Cell specialization | Role specialization
Organ systems | Departments/Teams
Nervous system | Communication channels

Implementation Notes

When implementing this approach, I've found these principles crucial:

  1. Start with clear documentation of current processes
  2. Identify natural breaking points for specialization
  3. Maintain strong integration mechanisms
  4. Monitor system health through regular feedback

Interactive Visualization Tool

I've developed an interactive visualization tool that brings these organizational evolution concepts to life. This tool allows you to:

  • Explore the progression from startup to enterprise across all three dimensions
  • Adjust organizational attributes and see their impact in real-time
  • Receive automated analysis of potential growing pains and integration challenges
  • Compare different organizational configurations side-by-side

This visualization can help leadership teams identify where their organization currently sits in its evolutionary journey and anticipate the changes needed for healthy scaling.

Try the live Organizational Evolution Matrix!

Credits and Further Reading

This approach draws from several key sources:

Tags

#organizational-design #systems-thinking #role-specialization #business-analysis #evolution

Note: This post reflects my personal experience and adaptation of these concepts. Your mileage may vary based on your organizational context.