The Overlooked Benefits of Range in Software Engineering
In most fields — especially those that are complex and unpredictable — generalists, not specialists, are primed to excel.
Earlier this year, I read David Epstein's "Range." It's a great book that presents a lot of evidence favoring a generalist approach to complex work. Since reading it, thoughts have kept circulating in my mind about how its ideas apply in software, data, and technology — Here's my take.
David Epstein examined the world’s most successful athletes, artists, musicians, inventors, forecasters and scientists. He discovered that in most fields — especially those that are complex and unpredictable — generalists, not specialists, are primed to excel. Generalists often find their path late, and they juggle many interests rather than focusing on one. They’re also more creative, more agile, and able to make connections their more specialized peers can’t see.
A sports analogy
We've all heard tales of child prodigies. This type of story is the ultimate archetype of early specialization and its benefits. In the world of sports, we have Tiger Woods, who showcased his golf skills on national TV at two! Safe to say, Tiger was on his road to mastery early and, by now, he's had his 10000 hours of deliberate practice.
With this model in mind, does it follow that the path to greatness in a tech career boils down to "pick something good (ASAP) and practice a lot"?
According to Epstein, not so. The story of tennis professional Roger Federer reveals a different strategy for excellence. As a young child, Roger did not focus on tennis. Instead, he would try many sports, including skateboarding, badminton, swimming, ping pong, and basketball. Roger went on to become a tennis world champion, crediting his hand-eye coordination to the wide range of sports played as a child.
Building skills for complex environments
At first glance, the success stories of Woods and Federer seem at odds with each other. To explain the difference, Epstein refers to psychologist Robin Hogarth and his work on "kind" and "wicked" learning environments.
In kind environments, where the goal is to re-create prior performance with as little deviation as possible, teams of specialists work superbly.
Golf is a kind learning environment. To succeed, you must be able to repeat learned procedures with minimal deviation — Choosing the right swing for a specific situation and executing it precisely. Tennis, however, is more wicked. Due to the game's speed and being real-time rather than turn-based, players must spontaneously anticipate their opponent's moves.
In wicked domains, the rules of the game are often unclear or incomplete, there may or may not be repetitive patterns and they may not be obvious, and feedback is often delayed, inaccurate, or both.
The world of technology is a wicked learning environment. It moves rapidly with no shortage of disruptive innovations; those who do not keep up the pace risk being left behind.
Connecting the dots
As a society, we are becoming increasingly reliant on knowledge workers (such as IT professionals) who can operate in wicked environments.
However, I still feel there is a cultural bias in favor of narrow specialization. Maybe it's an industrial way of thinking that carried over into our post-industrial society. You've probably heard the saying: "jack of all trades, master of none." In my experience, this saying does not ring true. A more accurate (and boring) reinterpretation might be: "jack of some trades, master of some."
The fact is that most generalists in tech stay within specific domains, focusing their energy on a few topics at a time while dabbling in related areas. More often than not, these experiences overlap to some extent. You can combine them to achieve great results, especially in areas where innovation and complex problem solving are required.
I dislike the "generalist" label for technologists because the way it's used is usually inaccurate. What we're talking about are "multi-skilled" profiles or polymaths who have cultivated a broad general knowledge in addition to deep expertise on one or more subjects.

Polymath superstars
In his 2020 review of Range, Bill Gates recognizes his path to success in Epstein's findings. This came as a surprise to me, as I had always thought of Bill as this kid who got obsessed with computers early and created Microsoft.
My own career fits the generalist model pretty well. As a kid, I used to sneak out of my basement bedroom to do late-night coding at the University of Washington, but my passion for computers was always mixed with many other interests. I spent a lot of time reading books on a wide range of topics.
On the topic of generalists in tech, we must not fail to mention Elon Musk. He is one of the most visible and influential personalities in tech today. Cited as an "expert generalist," Elon has navigated many domains such as fintech, public transportation, solar energy, electric cars, and space exploration.
It is important to view knowledge as sort of a semantic tree — make sure you understand the fundamental principles, i.e., the trunk and big branches, before you get into the leaves/details or there is nothing for them to hang on to.
Complex problem solvers
Throughout the history of computers, generalists have made exceptional contributions to the field. Consider John Von Neumann, who is often cited as the "father of the modern computer." A mathematician by trade, John pioneered new ideas in mathematics, physics, economics, computing, and statistics. Notably, he invented one of the world's most popular computer architectures, laying the foundation for many innovations to come.
If people do not believe that mathematics is simple, it is only because they do not realize how complicated life is.
Another example comes from the origin of the artificial neural network (ANN), one of my favorite topics in machine learning. Warren Sturgis McCulloch and Walter Pitts initially conceived the ANN.
Warren was a student of philosophy and psychology. He went on to become a professor of psychiatry and contributor to the cybernetics movement. In his spare time, he wrote poetry and engineered buildings for his farm. Walter was a self-taught logician who would later dive into physics, electrical engineering, and computer science.
Together, they sowed the seeds for a paradigm shift in artificial intelligence, connectivism, and computational neuroscience fueled by the neural network.
It's good to have a hobby
In "Range", Epstein presents an exciting finding: Nobel Prize winners are significantly more likely than their peers to have an aesthetic hobby like acting, dancing, music, and photography. For honored scientists, the finding persists: They also cultivate more hobbies than the general population.
Let's qualify this finding with some current names in technology:
Mark Russinovich
At the moment and since 2014, he's been the CTO at Azure.
What you might not know about Mark is that, in addition to being a software engineer and technology leader, he's written multiple science fiction books.
Andy Hunt
Co-founder of the Agile Manifesto and co-author of The Pragmatic Programmer. When he's not writing books on software development, Andy is playing various horns, producing electronica, writing fiction, or doing woodworking.
Rachel Andrew
Staff technical writer at Google, member of the CSS Working Group, and author of 22 books on web development. Rachel used to be a trained dancer working in West End theatre. Now, she enjoys religious studies and learning to fly airplanes.
John Resig
Creator of JQuery and chief software architect at Khan Academy. In his spare time, John has combined an interest in art history and computer vision engineering with his programming skills to improve digital humanities study.
In conclusion
Don't get me wrong: A singular drive is an excellent thing to have under the right circumstances. However, the examples I have highlighted in this article show us that our role models in technology can also be multi-skilled.
If you are an aspiring polymath, dabbler, or generalist in the world of tech, this article was for you. I hope to have convinced you that your broad interests should not be neglected in favor of a clean and straightforward career timeline. In fact, you can use your breadth as a superpower to navigate complex and uncertain environments with ease as long as you manage to connect the dots and combine your knowledge.
As a software engineer with a broad set of interests, I’ve found Epstein’s ideas empowering and energizing. I hope you will too.
Who are some of your favorite generalists in software and tech?












