DEV Community

Discussion on: I think there is too much to learn in programming

Collapse
 
andreidascalu profile image
Andrei Dascalu

Full stack is not a property of development in itself, it's an approach that depends on developer, which may choose to attempt specialising or go for a full stack.
But I'm denying that desktop development can't have the concept, I'm saying that when people talk about full stack, it's always with respect to web development, which pushes desktop technologies out of such discussions.
Which is unfair, but my overarching point is that it's difficult to NOT specialise since if you add up everything, covering any domain to the full meaning of a branch is next to impossible (and be decent at it).
Eg: if you don't disconsider desktop, then being a front-end developer alone would mean you need to be good at mobile/web/desktop frontends. Which makes people crazy about adopting cross-platform technologies.
Backend: you need to choose your knowledge so that it covers any backend (data storage / transfer which involves any number of languages / technologies and approaches).
So if you narrow your scope to frontend but expand your frontend skills, you can cover more of this domain in a way that's more reaching.
If you try for the full-stack experience, spreading your knowledge around subsets means you'll be good in very specific environments. Eg: I'm good in a Go + React + Android environment, but I will deeply suffer in an environment that chooses Angular. Not that I couldn't pick it up, but it would take a bit to become good/really efficient at it (not productive at writing mergeable code, that's quite easy). And if I were to spend enough time in that environment, I would start losing skills in other areas which would later require picking up again.
Not sure which is better, a jack of all trades and master of none or a master of a couple of trades. Though FWIW these are some studies saying that it's really beneficial that when you're younger to try to be a jack of all trades at the expense of mastery and slowly specialise over time.