Exploring the Connection Between Team's Maturity and Required Specialization
This is the topic that is in my mind since few weeks and I am starting to see a lit of advantages of being a generalist
I often compare specialization in terms of the limiting behavior of the Dirac delta function: The specialist is someone who knows more and more about less and less until they know everything about nothing, while a generalist is someone who knows less and less about more and more until they know nothing about everything. In either case the function integrates to unity. Teams are logically sensible as organizational entities but have lately become panaceas for rigid dogmatic managers. Being a team player is not always the best way.
Love this overview and great advice for how to think about hiring for these roles as an engineering leader.
I'd also like to save this to share with my mentees to help them decide which path may be right for them as they grow.
Thanks for putting together this awesome article, Nicola!
I think the biggest benefit of T-shape and Pi-shaped is the possibility of synergies. Going to the extremes of generalist or specialist, I think it could be hard to get the knowledge to relate different concepts and make an impact (Generalist lacks depth, specialist lacks big picture).
But having somewhat a deep knowledge in 1-2 areas plus the big picture can spark connections that others don't even imagine
As this post is focused on the engineering manager point of view, I'm curious what would you advise an individual contributor? I think specialist would make it easier to pursue one track, but if the track gets disrupted for any reason it would make it hard to adapt to a new track. If looking for a safer bet I would aim to be T or Pi shapes
That's a great article Nicola, very well written and articulated. You set a high bar :)
Regarding the T-shaped - when I think about it, what mostly comes to mind is the technological expertise. The example you gave is in very different skills: Code/Hardware/Leadership/Design/Cloud. Being a specialist in code is kind of general.
I imaging a specialist being a Python developer, a T-shaped being a backend developer with Python preferences, and a generlist a fullstack developer :)
I didn't know there were more shapes. To me everyone who wasn't a specialist was a generalist. Interesting to see the breakdown and how it can help with team building.
What do you think team leaders typically are? Is there a single answer?