We often hear this rather denigrating remark “jack of all trades, master of none.” Said like that, it sounds offensive and implies that being a specialist in one thing and one thing alone is a good thing. So good it should be celebrated. And people who dabble in several things at a time are fools, time-wasters, or folks who just don’t know what to do with their lives. It’s far from truth.
I have been a generalist all my life. I love to learn new skills, test existing ones from time to time, read a wide variety of books, consider myself an amateur photographer, linguist, science enthusiast and history buff, and have half-a-dozen other hobbies. As a software engineer, I strive to create meaningful applications in new languages and frameworks. By all means I am a jack of all trades (at least a jack of a lot of trades). Yet, I am most definitely not a fool or failure.
“Generalists are generally better at solving problems or being innovative than specialists,” says Guo Xiao, the CEO of ThoughWorks in the company’s technology podcast. I can’t agree more.
I think the misconception stems from the assumption that a jack or generalist doesn’t have (cannot have?) a deep understanding of any one topic. That might be true in some cases, but a true generalist would know most of their topics deeply enough to make a meaningful impact. That’s what we should all strive to be: good enough. A person who understands many things holds the power to mash them up to invent something new.
In fact, we should be more fearful of people who are so deep into and attached to one thing that they refuse to see the world beyond their own. Such arrogance clubbed with ignorance slowly but gradually leads to irrelevance. I’ve personally encountered folks who were “masters” of .NET or Java and thought the entire world revolved around their technology*. That’s of course absurd because we know that to create even the basest of web applications today one should be at ease with all the moving parts from front-end stack to databases to middleware to continuous integration pipelines. That’s the only way to evolve as an engineer.
The next time someone calls you a jack of all trades, simply smile and thank them for the complement (which it indeed is).
* There were even folks in the early 2010s who refused to test their websites in browsers other than Internet Explorer.