DEV Community


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

thomasjunkos profile image
Thomas Junkツ

I would distinguish between programming for fun and profit and programming on your daily job.

If you are at home, do whatever you are interested in: even not to program. That's fine.

On the job, it's complicated. It very much depends on the need of your current or potential employer. If you are working in a shop and you are a generalist, you are mostly known and liked for it. When it is time, that the company needs a more specialized you, they will tell you. Perhaps you go down the road and become the-goto-SQL-person (yay!) or the company asks one of your coworkers. Companies you work at - hopefully - know your value.

If you are looking for a new job there are these two perspectives too: the company looking for a generalist or which are open to the tradeoffs having developers without deepest knowledge in one singular topic but come with a breadth of different topics; and on the other hand the company looking for the specialist. And to make things more complicated: most companies do not know what they are really looking for and looking for the one when a better choice would be looking for the other.
Then it is up to you asking yourselves whether you want to work at this company. If you are a generalist, you have from my POV one big advantage: you could always say that you aren't specialized in something specific, but if they offer you the opportunity, you are taking the challenge of becoming specialized. The other way around is harder to argue.

My career decision was: I am open minded and not interested in becoming a specialist in one thing. That means in turn, many high paid jobs for specialists are out of reach. I know what my capabilities are and I know the many things I would never learn, so I was looking for medium paid jobs, where I could follow my interests best.