Is it better to be full stack or specialize?

Is it better to be full stack or specialize?


I am okay with the front end, I know my way around React/Redux and can make a decent looking site. I can also put together an Express/Mongo backend and use templates or simply use the server as an endpoint for a React App.

I am not an excellent designer though. Nor can I solve complex backend problems.

For job hunting do you guys think it’s better to develop this broad knowledge across the stack, or specialize?

I personally like building things which is why I have learned the whole stack albiet without that specialist level of skill.

I may do freelance work as well (its either that or a remote job for me) where I hear full stack is quite important.

But if I take a salaried job I’m not sure full stack / generalists are compared to single end specialists.


I’m thinking depends on organization you’re interested in… For example on smaller startup im guessing full-stack dev could do more for. But in larger company i would say specializing could be a better option. And for freelancing its probably jack of all trades aswell.


This is strictly my experience. A base set of skills and fundamentals is often expected, and what that base set is varies depends on the team and the company stack, but your strength and expertise in certain areas is what set you apart and get you hired. The depth of knowledge varies depends on the individual, but no one is actually complete locked in to specialize one thing

Being a front-end developer does not give you a free pass to not know anything about the back end and vice versa. Same goes with front end and design. You don’t have to be a good designer as a front-end developer, but it doesn’t mean you can be clueless about design and ux/ui principles.

Do not use these terms narrowly to box yourself in, no one really neatly fit into either. The specialists I’ve met are generalists with specialized skills and the generalists I’ve met also have strength and weakness in the breadth and depth of knowledge.

What became very apparent with my job after I was hired is that my team actually desperately need developers to code the frontend, and though not explicitly stated, I’m convinced it is why I was hired. However, the job they posted was for a full stack developer, and a small percentage of my work does involve coding the backend, so it is a job that you would not have gotten if you had no knowledge of SQL and Java Server-side technology. So you tell me, was I hired because I was a specialist or a generalist?

My point is, these 2 terms are actually somewhat deceptive and not really representative of what most developers are, so don’t use them to categorize yourself. Most likely companies are not looking for either, they’re looking for people with T-shaped skills.