DEV Community

Cover image for Jack Of All Trades or Master of One?
Katie Adams
Katie Adams

Posted on

Jack Of All Trades or Master of One?

One of these days, I'll write a Dev.to article that isn't just thought dumping onto a page. However, today is not that day!

I pride myself on being a sponge for knowledge. Recently, however, I've been taking a little break from reading around and trying new languages to give my brain a well-earned pitstop. Picture my brain somewhere warm and sunny, with its sandal-clad feet propped up in a deck chair and a glass of ice-cold lemonade getting it's hand slick with condensation. (Do not question how my brain developed limbs and apparently a working digestive system.)

Whilst taking a few days to myself, a question appeared in my head that I've been unable to shake: is all of this extra learning doing me any good?

The more I read about interview practices and techniques, I realise how much I flounder when asked technical questions by people who purport to know a great deal more than me. The thought of going into interviews and being quizzed on my abilities makes me incredibly nervous.

Now some of this can be put down to imposter syndrome, of course, but I must also accept a degree of responsibility . I'm a lot more confident in my programming abilities than I was two years ago but still know that I might not appear the most proficient when quizzed in a time-sensitive situation.

I've also never truly known what I've wanted to do.

For instance, I love video game design and Development - because I love stories and characters and art and music. I want to be part of the process that brought my favourite games before me.

I also love web development. The feeling I get when I've designed a beautiful and responsive site that is also accessible and functional? I imagine it's how a peacock feels when they've just had their feathers done at the local peacock salon.

Software engineering gives me great joy too. Mobile apps, web apps, programs - you name it, I want to know how to make it!

I have something of a childlike wonder for creation, for making things and being able to say 'look, I did this!'

But where does it end? Where do I stop and realise I have to settle for one?

How long before my 'breadth of knowledge' begins to be described as a 'lack of advanced expertise'?

Has anybody ever had the same dilemma? Whether it's about you or a colleague, friend, or family member: I'd love to hear your thoughts. No matter what side of the interview table you were on, how do you handle this type of CV?

Latest comments (71)

Collapse
 
osde8info profile image
Clive Da • Edited

life is short so id focus on

ONE cloud (ie OCI)
ONE distro (ie OL7)
ONE hypervisor (ie VBOX)
ONE browser (ie firefox)
ONE ide (ie theia)
ONE lang (ie node)
ONE db (postgres)

Collapse
 
katieadamsdev profile image
Katie Adams

That's a really nice way of looking at it. One speciality in many areas. 😁

Collapse
 
nirlanka profile image
Nir Lanka ニル • Edited

I completely relate to each and every sentence you wrote.
Now I work on a front end specific job, but I love working with and building compilers, game engines, OSs, reverse engineering, utility tools, databases and a lot more things, even though I may never truly become the best in them.
I feel it's ok to be specialised in a specific area, at least on your day job. It gives you more authority in working in it (and cures imposter syndrome a bit). But I just can't stop working on all the other stuff. It would break my brain just thinking about one area all the time.
I think being a jack of all trades helps as you go. Not just to make you a better thinker, but also to use that knowledge, experience and passion to help in your seemingly unrelated day job work. I know it did for me. It gave me an edge in a lot of situations.
So I say, be proud of being a jack of all trades and a sponge for knowledge of all kinds.
Wishing you the best of luck!

Collapse
 
katieadamsdev profile image
Katie Adams

I'm so glad you relate. It's great to know that experiences can be shared, especially in our community.
Goodness gracious I couldn't agree more with, "It would break my brain just thinking about one area all the time".
All the same luck to you, friend! Jack of all trades unite 😁

Collapse
 
jasperhorn profile image
JasperHorn

Very interesting. I too like knowing about everything. My current dilemma goes the other way, though.

That is, while I've used a lot of languages and techniques in my personal projects, my professional experience has all been in the same direction. And my personal projects often have not touched the frameworks that are big in the professional world.

So, now my work experience makes me look like a specialist. In the mean time, I think of myself as more of a generalist. And though I believe I could easily learn the relevant frameworks in barely any time at all, I do match the keyword searches for the specialist thing and not other things.

Collapse
 
ankitbeniwal profile image
Ankit Beniwal

So Firstly, Thanks @katieadamsdev for starting this conversation.

I am somewhere parallel to you in this regard. Studying computing and trying to find what field I should specialize in when I get intrigued by various domains of tech. It's so fun being a Jack of all trades.

I am also confused whether it is good or not.

I read so many (not all) comments from this post. And Thanks to @phlash909 for giving me an idea to try my luck in infosec.

Collapse
 
katieadamsdev profile image
Katie Adams

I'm glad the post could be as useful to you as it was to me. :) Certainly the general consensus seems to be: there's no right answer - but a mix of both can't be bad.

Collapse
 
davidmm1707 profile image
David MM👨🏻‍💻

Jack Of All Trades or Master of One? <--- It is easy, be both.

Well, maybe it is not as easy.

When I started programming, I saw what local business asked for a developer. The requirements were pretty high.

I had to learn Java, Spring, Javascript, Angular and docker for just a junior position with no experience.

Not only that. One business was looking for an Android developer, other a C# backend programmer, a React + Node.Js developer, etc. So, in order to have more chances, I had to learn EVERYTHING, right?

That's what I did.

I bought an Udemy course on Android development, and then I knew how to create android apps! Another course on Angular, and now I can create Angular web apps! All in the same month!

I learnt a lot!!

Did I?

Months later when I tried to create, for example, an Android app, I froze looking at the screen.

On the other hand, you have ultra specialization in one thing and one thing only.

You focus on, let's say, being a Node.JS backend developer and your choices become are smaller. Or not.

By focusing on one thing, you become GOOD at it. You may say "I love being a Front-end developer" and learn Vue, Angular and React in one year.

But you'll be a 4-months Vue developer, a 4-months React developer and a 4-months Angular developer, not a 1-year developer. And you'll be stuck on the basics, nothing more.

By focusing on one thing, you do advanced things. And employers want specialization.

Let's say you need life-or-death heart surgery. Would you like a 5-year experience surgeon, of a doctor that has dabbled as a surgeon, but also as a paediatrician, ophthalmologist, and more, in 5 years?

So I'll say that being a Master of one is better and a Jack-of-all-trades.

But I said you can be both.

A concept I got introduced a while ago was the T-Shaped developer:

Broad knowledge in many fields, deep knowledge in one.

For example, your passion is backend, you can focus on that. Learn a bit of front-end (basic HTML, CSS and Javascript. Maybe a framework), a bit of testing (Unit tests), a bit of DevOps (how to host your website and configurate it, Continuos Integration...).

This way you'll be an expert of one thing, but that doesn't blind you from learning the basics of other.

Think about a masterchef on japanese cuisine that can make you tacos, pizza or a hamburger if you need.

I liked the T-Shaped concept so much I'm doing that focusing on back-end, but that doesn't excludes me from learning Vue or learning testing and CI (even mobile dev with Flutter).

If you want to learn more about being a T-Shaped developer, I wrote a post about it:

letslearnabout.net/blog/what-it-is...

Collapse
 
mwlang profile image
Michael Lang

Software engineering gives me great joy too. Mobile apps, web apps, programs - you name it, I want to know how to make it!

Personally, I would and do hire people who show me this kind of passion without regard to what you know and don't know. I seek to hire potential more-so than the person that can fly through a grueling Google-like interview process w/o a blink.

Those with passion to never stop learning and who can show me they care about their craft and can articulate ideas back to me with intelligence will get hired over the rock star developer that knows it all, but can't work with a team or articulate and converse with others fluently.

How long before my 'breadth of knowledge' begins to be described as a 'lack of advanced expertise'?

Wrong question and mentality here. If hiring managers are being truly honest with themselves and who they hope to hire, what they should be looking for is the person that can apply the skills he/she has to solve the domain problems the company is dealing with. As long as you're learning and expanding your knowledge and increasing the sphere of problem-space you can proficiently solve, your value will always be going up. It's when you stagnate, stop learning new things, or exploring the fringes that you should be concerned.

Collapse
 
katieadamsdev profile image
Katie Adams

I would love if your approach to hiring was commonplace. Unfortunately, too often hiring managers who can demonstrate their work under time constraints. I've even heard of interviews where programmers are asked to write their code to solve a problem on a whiteboard! The Google interview example is a very good one.

Collapse
 
mwlang profile image
Michael Lang

Yeah, I started writing about the Google Interview process and why it's so wrong for many companies (it may be right for Google, but it's not right for the majority of companies out there). But that got really, really long for a comment reply!

Here's the thing: Job candidates often fail to recognize this is their time to interview the company and just complacently move through the process dictated by the company. One should recognize that the interview process is very revealing of the company itself, so the interviewee gets a glimpse into the company culture based on how he/she is being interviewed. If you're interviewing, then leverage this time and observe carefully what's going on around you throughout the process. If you keep your focus outward instead of inward (i.e. the "is this company worthy of my time?" vs. "am I good enough?" mentality) and take notes and reflect on how you were treated during the interview -- which is admittedly hard to do when under pressure to land a new job -- then you can more readily recognize what the company culture is going to be like. Plus this primes you to question and probe and learn more about what the job at hand will entail and what the growth opportunities within the company are likely to be.

Thread Thread
 
katieadamsdev profile image
Katie Adams

That's honestly such a great mentality: certainly one that I will be applying to my next interview. It might even help to relieve some of the stress by focusing it elsewhere instead.

Collapse
 
sebbdk profile image
Sebastian Vargr • Edited

Au contrair, why not jack of all trades and' one specialty. ;)

That's what i do, i am mainly a web-developer, but i dable in game-design/development, machine-learning, microcontrollers, etc.

And i like to think that dabling makes my brain more diverse, which allows me to look at my specialty with less biased eyes, and it allows me to solve problems that web-development only occasionally touches.

Collapse
 
katieadamsdev profile image
Katie Adams

You had me at 'au contraire' 😂

I agree I do think that is the best way forward. :)

Collapse
 
buzzedison profile image
Edison Ade

i hate interviews. Why can't people just ask for your portfolio and what you have been able to build overtime to cut a lot of the jargon and shortlist you to a final not so time sensitive interview?

Collapse
 
katieadamsdev profile image
Katie Adams

I agree. Interviews are going to be a great source of stress for me, I can tell. 😅

Collapse
 
delusionaldelight profile image
DelusionalDelight

There are two things that are usually stressed in an interview, concepts and syntax. When you are a jack-of-all trades, you know more about a lot of things and get very good at learning new tech; BUT, you are competing with developers that focus on only one or two technologies and that can be hard to beat.

Interviews are as difficult for the interviewer as the interviewee, and they will gravitate to what they know. So, get really good at one tech and be able to re-gurgitate concepts. And cross your fingers ...

Collapse
 
ramong1145 profile image
Ramón Gallo

Either way, there are no bad answers.
I think being a Jack of All Trades is better since it can make you focus in various projects in case you work in a company, and if you work as a freelancer, then it allows you to depend less from any external consulting.
It's OK to focus on what you love and waht makes you feel more realized about your job and being the dungeon master of it.