DEV Community

Discussion on: Jack Of All Trades or Master of One?

Collapse
 
perigk profile image
Periklis Gkolias

This is a false dilemma IMHO.

You can be both and actually is what most companies look, at least from software engineers, at least from my experience.

The newest trend is being a pi-shaped engineer. The name comes from the Greek letter π which has two "feet" that go deep. irisclasson.com/2013/07/08/stupid-...

So you have adequate knowledge in many fields. But you specialize in a couple. By learning to specialize and learning to generalize you REALLY learn how to learn.

Correct me if I am wrong, but I have never seen a company looking for someone a) who is not great at anything b) is a one trick pony.

As you can see, I am assuming that you are targeting regular employee status, if you are planning to become a consultant, master of one usually pays better.

To conclude:

  • If you want to work for the web, knowing server side programming AND client side programming AND devops will totally not hurt. Feel free to pick two and become great on those while you have decent knowledge on the other.
  • If you like game programming, you can always do it as a hobby, even you work for a different "sector"
  • If you like mobile programming, the same goes as with web. Server side will help you understand how the things you consume are built. Or even wrote both parts. Client side will help more, on how to design proper interfaces (along with UX principles). Devops dont sound that helpful but who said that devops principles cant be applied to mobile? Eg continuous integration.

Hope it helps.

P.S: We are all imposters, you can find tons of articles in here that will give you insight. Having impostor syndrome can be good sometimes.

Collapse
 
phlash profile image
Phil Ashby

This resonates with me too. Aim for T-shaped, keep an eye/ear/other limb on all the things that interest you, while dedicating some extra time to 'get good' (whatever that means to you - completing a course, solving a challenge, getting a job) in one area - probably Web dev at the moment. Then keep at it - move from T to Pi shaped, perhaps if you have the capacity/time/willpower go for Comb shaped! This of course will take time, and hopefully opportunities will arise that lead you through many learning cycles. Each 'deep dive' will also help your broader understanding across the field - some things may fit common patterns, new ideas may be applicable elsewhere.

You may find that some of your earlier expertise becomes less valuable (broken comb teeth?), and you can let it go (Delphi anyone?) or that you need to refresh it for the next challenge, where you will have the confidence of having been there already, and now have a better breadth to apply to re-learning ;)