Code Renaissance is about building great teams and great software. By exploring best practices, team interactions, design, testing and related skills Code Renaissance strives to help you create the team and codebase that you've always wanted.

T-Shaped People vs Generalizing Specialist

I've talked about T-shaped people in the past and why it can be useful to have them on your team. To hit the highlights:
  • T-shaped people are expert in a core skill, but also have a number of tangential skills that they are shallower in.
  • They should not be considered generalist because, unlike a generalist, T-Shaped People do have a core area of expertise.
  • T-shaped people work well on teams because they have the ability to see many perspectives, can stretch to fill gaps in the team and can take on new skill-sets quickly.

When I started reading about Generalizing Specialists I immediately drew parallels between the two and wondered how Generalizing Specialists differed from T-Shaped People.

One of the best articles on Generalizing Specialists is by Scott Ambler. In it he says that a Generalizing Specialist "seeks to gain new skills in both their existing specialties as well as in other areas, including both technical and domain areas." He goes on to give examples including Programming, Testing, Business, Project Management, and Deployment.

Though I strongly implied it in my original discussion about T-Shaped people I failed to state explicitly that I think that T-Shaped people are defined by their cross-disciplinary knowledge. From all that I've read from Scott and others there seems to be agreement that the requirements for a core specialty and cross-disciplinary knowledge cover both T-Shaped People and Generalizing Specialists, though, as with me, people haven't always emphasized that point strongly enough.

Consider the following comment I found on a post about Generalizing Specialist:
"I see great value in generalizing specialists for programming technologies. However... I cannot expect a single engineer to have IP routing, mobility management, session protocols, packet inspection and fast path expertise in my product. Those areas are domains in themselves and sometimes require years to master." Comment by Paul C

No disrespect to Paul, but a person with all of those skills is not a Generalizing Specialist. I wouldn't even recommend that they try to be (maybe there are some IP routing, packet inspecting, mobility managers out there who can enlighten me, but I just don't think they'd benefit from a great deal of cross-disciplinary knowledge).

Don't get me wrong, studying multiple sub-specialties within a domain is admirable, it's just not what we're talking about here. If you're going deep with a super narrow focus I'd say that makes you an uber-specialist and if you're doing so on several topics within the same domain, as above, would make you multi-uberspecialist. But no matter how many sub-domains a specialist masters it will not make them a Generalizing Specialist.

Regarding specialists Nobel laureate Konrad Lorenz said "Every man gets a narrower and narrower field of knowledge in which he must be an expert in order to compete with other people. The specialist knows more and more about less and less and finally knows everything about nothing."

Not that there's anything wrong with that. In many contexts a specialist is exactly what you need and I think that Paul lists several great examples, but in other contexts, for instance Agile Development and User Experience/User Interaction Design, I think it's been widely recognized that it's beneficial to to have a lot of T-Shaped, Generalizing Specialists in those roles.

So, are T-Shaped People and Generalizing Specialists the same thing? I think they are. Its funny how nearly identical concepts can spring up from multiple sources around the same time.

I'll leave you with one final quote about specialists from one of my favorite Sci-Fi authors:
"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, analyze a new problem, pitch manure, program a computer, cook a tasty meal, fight efficiently, die gallantly. Specialization is for insects." Robert Heinlein

You may also be interested in the following posts:

0 - What do you think?: