I have worked in numerous companies and roles over the past 15+ years. Culture and behaviour are a symptom of the system.
I will level with you; I do not like job roles or titles they are symptom of the system. More specifically I now consider myself a problem solver – even though this is a role, whether that be Front End, Back End, DevOps, QA, BA, PM, coach, leader, mentor, etc. I will do any role that needs fulfilling to ship valuable working software to the customer. I have got areas of specialism, areas I am ok at and areas where I need to read and learn. However, on a personal note I love learning new technology and techniques.
Back to the system, if you create a system with job roles – more specifically the trend that I see now is the split between Front End vs. Back End & the new Full Stack role and the more traditional QA engineer or DevOps engineer. That is the system, people’s behaviours will start to align with the roles. For example – ask a DevOps engineer to do some React or Angular in this system and the likely hood is that you will get push back. That is not my role, I’m employed as a DevOps engineer and all I do is Terraform and AWS!
Delivering working software does not occur in a silo of work, do Front End then Back End – at any point you could be a stakeholder, PM, PO, BA, Front End, Back End, QA, DevOps, Release Engineer, etc.
My experience of highly successful teams – read delivering valuable software to customers, with short lead times. Is that most team members will be needed to fulfill any role while delivering software.
Having push back just creates queues and expands lead times. Oh, the Front End dev’s just finished the UI, but the Back End component isn’t ready. Software sits there waiting in a queue before the Back End work is done. Queues kill flow.