Confusion up front
The Front-end is something that glues two well established disciplines together. Design and programming. Visuals and functional abstraction. Front-end development may overlap the two but that in of self doesn’t make it one or the other. Front-end development is a singular discipline with a clear goal and can be practised by a single person without conflict or ambiguity. Some consider the notion that it may not be that simple. Maybe, but I think it is.
I believe this so strongly that I’m often taken aback when some don’t share that same understanding. My obtuse way to describe frontenders is that they are not designers and they’re not programmers.
Not very helpful I know but I thought I’d get the obvious out of way so I can offer my own view on the matter.
A frontender is someone who (re)creates a User Interface (UI) from a design, visual or otherwise and fits this on top of the functional code and or services.
Application platforms have end to end frameworks that can take care of the entire UI or at least most of it. That is nothing new, we’re still seeing plenty of front-end lockout. Many back-end developers are not used to being exposed to the interface. They are used to ready made components. I therefore think that front-end developers are sometimes considered as another subset of programmers. Being called developers doesn’t really help. So let’s be clear: Frontenders are not programmers.
The other side of front-end work is design. Frontenders work with colour, shapes, text, sound, animation and interaction. When implementing design it’s good to know what they are or understand how to they work. That’s what frontenders do, they make design work. If readability is an issue then a frontender could come up with some solutions to make improvements because they care about design. You may even think that it if it quacks like a Designer and walks like one then what else could they be? Well, let’s be clear: Frontenders are not designers.
The overlap comes with dealing with things from white space, colour contrast, fits law to MVC, lazy loading and truthiness. Front-enders deal with some of these things because of their experience of doing one thing, and one thing only: Bringing the user interface to life.