Updated: Category: Developer Experience
Martin Fowler posted an article about Expert Generalists.
I am a Generalist
The few words about recruiting focus also resonate: valuing understanding concepts, effectively decomposing both systems and work, test (and quality) oriented, and collaborative. That is what I look for (besides some other traits) in engineers, rather than language and tool specifics that lose their value over time.
The article hits home. I consider myself what Martin and co describe an Expert Generalist is. I recognize the characteristics: curiosity-driven, collaborative, and customer (value)-focussed.
What is an Expert Generalist?
The article led me to investigate more into the topic. I stumbled on this BigThink article that seems to summarize the 2025 book by Mansoor Soomro titled The Generalist Advantage: Proven Framework to Explore the Potential of 4 Types of Generalists at Work. Although I haven’t read it yet myself, the book’s excerpt and the BigThink summary describes traits I recognize from myself and fellow generalists:
-
Innovation. Generalists excel at intersection points of domains. This is exactly where innovation happens. Naturally, generalists are a stimulus for innovation.
-
Bridge building. Generalists can translate between teams and domains. They help break silos in organizations. They connect ideas and resources across departments, fostering reuse and help to optimize.
-
Foresight. Generalists recognize bigger-picture patterns others miss. They are good at spotting trends and see disruptions before others do.
-
Adaptation. generalists excel in fluid situations. Their diverse knowledge fuels adaptable solutions.
-
Resilience Generalists’ comfort with the unknown helps companies see calculated risk as healthy experimentation rather than danger. They naturally diversify and encourage they organization to do the same.
-
Learning culture Generalists are naturally curious and never stop learning. Seeing leaders value exploration keeps teams dynamic and discourages complacency. They foster a learning culture.
Those are skills I expect successful technical leaders such as architects and principal engineers to have. Being a generalist is more relevant than ever with the advent of AI. I plan to write more about this in a later post.
Growing Generalists
Martin Fowler recently updated his post to include recommendations for hiring and growing generalists:
-
Look beyond tools. Generalists are not specialists, but they quickly learn. Instead of asking how they solved a challenge with a particular technology, ask them how they approached the problem and which people they involved.
-
Identify their learning strategy. Find out how they make themselves familiar with a new domain. What is their approach; how do they seek out information?
To foster and grow generalists, break silos. Allow people to reach out for new skills, and allow them to fail and learn. Encourage it.
-
Learn foundations Learn the foundations rather than going for technology-specific certications. For example, understand /(but really understand) distributed computing rather than become an Azure or AWS certified engineer.
-
Cross-functional over silos The fluid skill from generalists allow for flexible organizations. Rather than teams created around technologies, cross-functional teams can be created based on business need.
Generalist Workshop
Growing generalists means sharing expertise and teaching about new technologies and domains. This can be done in a workshop where different engineering roles learn about fundamentals that are relevant to all.
Distributed computing is everywhere these days. All engineers will have to deal with it in some way or form. Organizing a workshop on this topic makes sense. You can still use a particular technology (e.g. Azure), but the focus must be on the common ground.
-
Fundamentals.. Discuss the fundamentals of distributed systems and their patterns.
-
Apply. re-build ( a simple version) of the product or technology together.
Generalists and specialists
Mix generalists with specialists in teams. You need specialists for the core technologies, and the generalist helps bridge topics.