Jack of all trades or master of none? That is the question

Which career path should I consider? Generalization vs. Specialization

Ricardo Ribas
4 min readFeb 23, 2017
wear many hats (layers) as possible?

Hey there, it’s Ricardo again! 👋 Don’t miss out on the latest insights and articles about different daily challenges — subscribe to the newsletter today or hit that clap button to show your support. Your encouragement means the world. Stay tuned for more exciting content!

Before starting, this article just provides my two scents on the topic and should not be considered the final and only truth. My main purpose is to provide a baseline for a (very) good debate. My circle of friend is overwhelmed by IT guys and now and then conversations about career changes arise.

Introduction

It seems that lots of people are excited about those topics. But what those could even mean? What’s the hype around? Should I become a Jack for all trades or Master of None? Should I be a master on a specific technologies or should I try to expand my skillset over and over again?

What Jack of all trades and master of none could actually mean?

Generalization

When it comes to development, Jack of all trades could potentially refer to an all-arounder, someone that is proficient in a large amount of topics and technologies, is familiar with several development methodologies, but is also someone dazzled about cutting-edge technologies. On the other hand, a master is someone aware of how a specific technology or topic, is immensely curious about the inners of it, and is also capable of anticipating potential problems in that regard. With that in mind, I think we could refer Jack of all trades as someone that takes generalisation more seriously than specialisation, and master (quite) the opposite. The evolution of technology allowed new tools, new work methodologies, new frameworks to emerge. And, ultimately, although some people are willing to give a go at everything, identifying mastery might be the best choice nowadays.

Specialisation

Specialisation also has advantages over generalisation, but also limitations. One of the reasons falls around companies. They tend to hire developers for specific roles that requires years of expertise to fill the gaps. While this can be a minus (-1) for people that aim to become masters of everything, can be a plus (+1) for those more specialised, as they demonstrate deep knowledge and experience to solve those kind of problems. However, this does not apply for problem solving. While specialised people are experienced in a specific topic, they might not be able to solve problems that are outside the scope of their trade as the other people are.

Level of commitment

The learning curve might be a problem for people that are trying to master everything. Each person requires a different time frame to learn new technologies, best practices, new work methodologies, new everything. As this may be a plus (+1) for startups, which lacks on budget and need someone capable to solve any kind of problems and wear as many hats as possible, it might be a minus (-1) for more mature companies as they might not be willing to invest time on someone that is always changing focus.

Power of change

Nowadays, technology is always evolving into new programming languages, new methodologies, new frameworks, etc. Are specialised people willing to adapt himself all the time? Are they capable of changing their minds on how they work when a technology becomes deprecated and are forced to change into more modern technologies? People that see generalisation over specialisation are more comfortable to the change. Their awareness of cutting-edge technologies and their eagerness to learn new things allow them to be more prepared to the change. Is just on their DNA.

Conclusion

In my personal opinion, I believe that generalization is something that suits me the most. I really like to keep changing context all the time. It keeps me motivated, eager to explore and learn about different topics. I tried to leave my personal opinion for last just to give the two sides of the coin first. In summary, there is no perfect answer for this. There is market demand for both kind of career, but that doesn’t mean that it might not change in the future. With that in mind, should I be someone that is open-minded to learn new technologies, accept new challenges, but also foresee which technologies would be a good fit for companies and projects? Or should I be someone focusing my career on a given framework, technology or tool that might get deprecated in a near future?

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

--

--

Ricardo Ribas
Ricardo Ribas

Written by Ricardo Ribas

Software Engineer passionate about rock climbing, yoga, gaming and travelling

No responses yet

Write a response