A succinct way I’ve framed the split is that a front-of-the-front-end developer determines the look and feel of a button, while a back-of-the-front-end developer determines what happens when that button is clicked.
Doing it right requires a different pace of working and a much broader thought process than “ok, let’s get this thing out the door.” Which is super tough because most workplaces place a huge emphasis on getting things out the door, and fast. Little agile tickets that are expected to be completed in micro sprints to me seem to be antithetical to doing it right.
Design has very little to do with what tools or methodologies you use, or what your job title is, or what you have a degree in, or even anything like “creativity”; design is about your relationship to constraints. Rather: to what extent are you defining constraints rather than just obeying them? Design is about taking a universe of possibilities and converging onto exactly one outcome. Being handed a set of constraints which you treat like immutable laws of physics (because many of them are) and solving within that envelope is what engineering is. To wit: what most designers are doing most of the time is actually a form of engineering, and engineers are always doing at least some design.
This is because genuine design—the power to define constraints—is a privileged political position within an organization, and not everybody can occupy it. In other words, the “seat at the table” comes first. Design is Steve Jobs infamously dropping an iPod prototype into his fish tank, pointing at the bubbles coming out and yelling at his staff to make it thinner. It doesn’t matter what your title is; Jobs is the designer in that scenario.