A Proposal: Renaming Backend/Frontend to Application/UI Developers

Tags: thoughts, web-development, UI

The evolution of web technologies in the last several years has blurred the line between what we usually call backend vs. frontend development. On the other hand, expectations put in front of developers highly reflect that rather rigid distinction based on technology, instead the one that would be based on processes in software production. Is it time for a change?

Historically, backend developers were the ones doing web application logic which resided on the server. Server processing resulted in sending only a HTML document as a result to the browser, where frontend developers were taking over. Frontend developers were usually doing the HTML with CSS and a bit of JavaScript flavour to manipulate the DOM, create a pleasant user interface, and do the eye-candy.

The amount of JavaScript on the frontend has been increasing since the dawn of AJAX, and frontend developers were required to pick that up, too. Still, there was not so much structure (or what we usually call the ‘application architecture’) in that, so it was manageable for that role. With the raise of in-browser applications (a paradigm we call Single Page Applications (SPA) these days), this frontend vs. backend line has blurred even more.

With the SPA paradigm, a huge amount of what used to be done on the server, by ‘backend’ developers now resides in the browser. Still, I notice that companies who are looking for people are looking for ‘frontend’ developers for such work, or expect ‘backend’ developers working on the in-browser app to do a shiny UI as well, and be efficient at it. That feels like quite of an impedance mismatch to me.

What is wrong with such a nomenclature is an easy question to answer - it’s the application logic that has shifted from the ‘back’ to the ‘front’, not followed by the nomenclature update to adjust to this new situation. Borders once drawn are just not valid any more.

What would be the more appropriate nomenclature was the harder question. Giving it a bit of a thought, I feel confident enough to propose the following - Application developers and UI developers.

Application developers vs. UI developers

This makes the distinction much more natural - application logic and application architecture belong to application developers, not to the server or the client side of technology; while UI, application flow, RWD, styling, and eye-candy together with UI libraries and JS animations belong to UI developers (and designers who actually implement UI designs they make).

If we adopt such a nomenclature, it will be easier to understand the development process better and to match people with the work they’re specialists at. Applications will always remain applications, never mind where are they run, while interfaces will remain interfaces, never mind that they will be radically different across the application consuming media.

The future will include not only desktop vs. mobile/tablet experience, but also a voice, glasses, holographic and who knows what other interfaces that will emerge, and that will need to be tackled. That’s the last moment where today’s frontend developers will need to transform to UI developers. 

Why don’t we start that change today?

The border between the server and the client has faded; it’s time for the roles names to change.

Story comments:

blog comments powered by Disqus