How my diverse knowledge and experience have pushed me forward in my career as a software engineer.
The term ‘Jack of all trades, master of none’ is often used for people who know a little about a lot of different things. On the other hand, there is the term expert, someone who has deep knowledge of a specific topic.
I’ve always strongly felt I’m both. I have expert knowledge in multiple disciplines (software engineering and visual design), but feel like a generalist too due to tons of experience in other fields. To name a few: 3D printing, Interior Design, Carpentry, Electronics, Photography.
On the outside, this could give the impression of a complete lack of focus, but the opposite is true. If you’re a quick learner, you can get deep knowledge of many fields. And there is a compounding effect here. The more you know, the easier it is to learn new things.
Having worked as a freelance software engineer for a long time I’ve always felt that expert knowledge is often asked for, but generalist knowledge is what is needed. And all of my ‘extra’ knowledge and experience has helped me a lot in my software engineering career.
It has allowed me to identify problems and see new opportunities and come up with initiatives that others might not have seen. This is just easier if you have generalist knowledge, as you can build on all of your previous experience in other fields.
Many people can do good software engineering, but adding value to a team or company is more than getting JIRA tickets done.
When I moved from a back-end tech lead role (hi all, I did art school!) to an engineering role in a Technology Innovation team things clicked into place.
Being able to innovate, to rapidly adapt, to quickly learn new things, and to be comfortable with change are all skills native to an expert generalist, and needed within Innovation.
I think being comfortable with change is a really important skill, and if you are a generalist it’s easier to be comfortable as you can see the bigger picture and understand the nature of change.
Now, being a software engineer in innovation isn’t easy and very different than working in a product team, but that’s a story for another time.
The term "T-shaped" skill set has been thrown around for a long time. The vertical bar of the 'T' represents depth in one area, and the horizontal bar represents generalist knowledge of other fields. Expert generalists have more than one vertical bar though, which led to the term "Pi-shaped" skill set. And then there was an "M-shaped" skill set. And then we needed a better analogy.
Kent Beck’s Broken Comb shape is better, as there are just vertical bars, but of different lengths. I think using the term ‘broken’ to refer to one’s skill set is a bit unfortunate, so I’d like to think of it as a tree with many branches. The trunk is the core of your knowledge and keeps growing over time and the branches are the different disciplines you’ve mastered.
Yes, that’s the second half of this often partially cited William Shakespeare(!) quote.
Jack of all trades, master of none.
But often times better than a master of one.
Your unique set of skills and knowledge is your superpower.