Came to say very much the same thing... I've worked in scrum silos where each person has their own piece. Spent close to 15-20 hours a week in various design and planning meetings, clost to another 10-15 hours blocked by someone else's work, and only 5-10 hours a week actually being productive. It was painful, and I left after a couple months.
I'd much rather work in an environment where I can touch what needs to be touched to make something work, be it green or a feature. Also, there are so many things one needs to have knowledge over as a developer, it's never a true specialization anyway. On the backend you will have your backend language, the runtime environment, the serialization and service boundaries, as well as the persistence, caching and communication layers to the backing systems. On the front end you will have some aspects of interactive/evented design, domain logic and serialization and communication to the backend, along with perhaps another type of caching and persistence on the front end.
Beyond that the more tightly you can couple and work in front and back, the more effective you can be in implementing cross-cutting feature concerns.
I'd much rather work in an environment where I can touch what needs to be touched to make something work, be it green or a feature. Also, there are so many things one needs to have knowledge over as a developer, it's never a true specialization anyway. On the backend you will have your backend language, the runtime environment, the serialization and service boundaries, as well as the persistence, caching and communication layers to the backing systems. On the front end you will have some aspects of interactive/evented design, domain logic and serialization and communication to the backend, along with perhaps another type of caching and persistence on the front end.
Beyond that the more tightly you can couple and work in front and back, the more effective you can be in implementing cross-cutting feature concerns.