DEV Community

Discussion on: Calling all Full-Stack Haters

Collapse
 
spencerdoak profile image
Spencer

Completely in agreement with this view. Frankly, though, I think it's highly problematic to have a generation of developers -- a generation which I fall within, I might add -- who specialize in just one side of the equation, or, worse yet, in just one particular technology/framework. While I would never try to argue that developers should be equally pro-efficient and competent in all sides, every developer should at least have some experience with all sides. I generally hate doing front-end web-development and I would much rather write a back-end system, but I do at least have experience writing front-ends. Possibly more important, though, my experience is not with a particular framework, but rather writing my own CSS, HTML, and Javascript from scratch for a live, commercial system. Furthermore, I had to administrate my own Linux server and database for that. I would never want to go back to it, but I have found the experiences I gathered from doing it to be invaluable in implementing solutions, debugging through problems, etc.

The absolute worst thing we can do as an industry is churn out a generation of developers who ONLY understand one framework/library. Frameworks come and go. Chances are that while ReactJS or Angular might be popular today, they won't be the hot, trendy libraries in 10 years. Having true developers who understand the full-stack is absolutely essential to the longevity and health of the industry.

I will take that claim one step further, though, it's not JUST about understanding the back-end (e.g., NodeJS) and the front-end (e.g., React): developers really need to understand the underlying fundamentals of computer science. Don't fully understand how your application runs on top of your selected OS? Get a book and start poking around on the machine until you at least understand the gist of it. How else will you know how to thoroughly investigate and track down the cause of a production outage? Don't understand how your database actually stores data? Get a book and start poking around. How else will you know why your database model is not scalable due to the amount of data you are storing?

In my opinion, the lack of understanding the fundamentals is at least partially a result of coding camps that give you a two week intro to some language/framework and promise to take you from totally inexperienced newbie to professional. Sure, they might teach you enough to land a job writing front-end or back-end code in the language of choice, but you never learned the underlying principles that power that technology, or how exactly all the pieces fit, so once the industry moves onto a new hot, trendy technology, these developers will be fighting one another for whatever jobs remain until eventually even those dry-up.

sigh it seems like the industry is moving in an unhealthy direction right now, and the attempts to criticize full-stack developers as being liars and frauds only further reinforces this assessment.