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.
Ruskin's Seven Lamps of Architecture provided seven guides, or 'lamps', for the troubled craftsman, guides for anyone who works directly on material things. These seven are:
The lamp of sacrifice: The willingness to do something well for its own sake.
The lamp of truth: The truth that 'breaks and rents continually'; Ruskin's embrace of difficulty, resistance, and ambiguity.
The lamp of power: Tempered power, guided standards other than blind will.
The lamp of beauty: Which for Ruskin is found more in the detail, the ornament—hand-sized beauty—than in the large design.
The lamp of life: Life equating with struggle and energy, death with deadly perfection.
The lamp of memory: The guidance provided by the time before machinery ruled.
The lamp of obedience: Obedience to the example set by a master's practice rather than by his particular works; otherwise put, strive to be like Stradivari but do not seek to copy his particular violins.