This article is conflating junior developers with full-stack engineering. I work on the entire stack. Can I work with databases and write queries? Sure. Can I do it as well as a data architect? No. That's not what's expected of a full stack engineer. We can have meaningful, productive discussions with everyone on all parts of the stack. We'll talk with the data architect, write/tweak a query if we need to, we'll talk…
Agreed. I would also add, I don't think frontend vs backend accurately describes how skillsets are clustered anymore -- especially with JavaScript's increasing ubiquity. I would cluster skillsets into: ops, development, and design. Ops: making things highly available, logging, performance monitoring, reliability, deployment scripts Development: Writing code on both frontend and backend. Design: Visual design and CSS/…
Honestly, even when it is the same person doing both, I feel like it is best practice to do these activities separately anyway. As in, literally on a different day, with a different mindset.
If you design an application's looks and UX according to how the code 'should' work, particularly backend code (DB queries and endpoints etc) you'll most of the time end up with something that's suboptimal for the user without being able to see it - because you have this very detailed mental model of the system behind the curtain and it's 'obvious' that things should work in this way or that in strict accordance with how that system is organised - whereas the user knows / cares nothing about these things and wants things organised in a way that's more intuitive to them.