#1
As computer systems get more sophisticated we've seen a growing trend to value deep specialists. But we've found that our most effective colleagues have a skill in spanning many specialties.
We are thus starting to explicitly recognize this as a first-class skill of “Expert Generalist”.
The characteristics that we've observed separating effective software developers from the chaff aren't things that depend on the specifics of tooling.
We rather appreciate such things as: the knowledge of core concepts and patterns of programming, a knack for decomposing complex work-items into small, testable pieces, and the ability to collaborate with both other programmers and those who will benefit from the software.
This echoes a long debate about the relative value of specialists and generalists.
Specialists are seen as people with a deep skill in a specific subject,
while generalists have broad but shallow skills.
Folks that only work in a single technological neighborhood are at the constant risk of locking themselves into a knowledge silo, unaware of many tools that could help them in their work.
This ability goes beyond just developer skills. We've seen our best business analysts gain deep skills in a couple of domains, but use their generalist skills to rapidly understand and contribute in new domains.
So over the last year or so we have started to resist this industry-wide push for narrow skills, by calling out this quality, which we call an Expert Generalist.
Expert Generalists have the following attributes:
Curiosity: Self-explanatory
Collaborativeness: Self-explanatory
Customer Focus:
We are fans of Kathy Sierra's notion that our purpose as software developers is to help our customers become “badass” at what they do.
Favor Fundamental Knowledge:
Such knowledge tends to age slowly, and is applicable when folks move into new environments. For example the basic moves of refactoring are the same whatever language you are programming, the core patterns of distributed systems reappear regularly.
Good Catch in that —> Blend of Generalist and Specialist Skills is not being reflected correctly to the “T-shape” metaphor.
While the T-shape moniker did catch on, it comes with a major problem in the metaphor, we don't find such folks have only a single deeper skill. They usually have a few, of varying depth.
(Martin Fowler et. al. / June 19, 2025 / MartinFowler.com / permalink)
#2
Connection with previous Notebook Entries
Entry of June 10, 2025 was about engineering roles, career ladders and professional growth extensively.
How is the skill of Expert Generalist connects with the above?
Is it a skill that should be linked with the “Management Track” of a career ladder, or it could be relevant to the more mature levels of the “Individual Contributor’s Track”?
How can we effectively cultivate this skill within a company or organization?
Side Note: Is Expert Generalist skill relevant to the Open Source / Inner Source governance?