Sadly, what we often see in software development industry today is largely artificial boundaries being set up between roles that define themselves by the programming languages they use, e.g. front-end development vs back-end. In other words: Paradoxically, additional information silos are created, while software is actually meant to tear down information boundaries and do away with silos.
In my experience, front-end developers and back-end developers not working together but each “role” merely throwing their results over the wall and expecting the other side to do whatever it is they’re doing is a huge problem. We supposedly have DevOps but we don’t even have sufficient collaboration within the Dev part of that equation.
The approach outlined by Stephen in my opinion is the way forward. Collaborate. Build tools to facilitate collaboration. Don’t try to pigeonhole yourself and others into tiny boxes.