Is Frontend the new Backend?

Nemanja Alavanja
3 min readAug 10, 2021

Traditionally, frontend development was seen as being less complex and much easier to master than backend development. For some, even today, frontend developers are nothing more than “glorified designers”. If you are a HTML, CSS or JavaScript developer, you shouldn’t despair, because this kind of gatekeeping has existed almost as long as programming. (For reference
see The Story of Mel in which Real Programmers only deal with machine code and FORTRAN is for wimps.)

Photo by Markus Winkler on Unsplash

Frontend evolution

Frontend development was much simpler in web development’s infancy. Web pages were mostly static, coded with HTML and little else, and all the hard work of managing data sets, that required smart architecture and fancy algorithms, was done in the backend, on the server’s side.

Consequently, backend developers needed to have a vast array of technical skills including the knowledge of at least one backend programming language, database management and hosting environments. In contrast, frontend development consisted of writing and saving code as a file
and testing to see how it behaved in a browser.

Over the years things changed. Use of JavaScript eventually enabled the progress from these static HTML pages to more dynamic and interactive sites. But the real breakthrough in frontend came with the inception of JavaScript frameworks and libraries, enabling developers to build highly interactive, dynamic websites that are maintainable at the same time. The implementation of technologies like client-side web frameworks, AJAX and Webpack added more complexity to the frontend, but also boosted the performance of web applications by allowing more actions to be performed on the client-end, without the input of a server.

When JavaScript proved to be problematic when dealing with large-scale applications, Microsoft developed TypeScript, a JavaScript superset that added much needed functionalities like modules, classes, and static typing, without giving up any of the advantages of JavaScript. It can be used for either client-side or server-side execution, and it helps with debugging as it’s
much harder to write invalid code. Basically if it compiles, it works.

Frontend today

Nowadays frontend developers have to know a lot of stuff besides the usual
HTML/CSS/JavaScript, there’s TypeScript, bundlers, architecture and stream processing, at least one SPA framework, responsive design, testing and the list goes on. Along with many technical skills they also need a good eye for design which in turn suggests at least a passing familiarity with some UI/UX design applications like Sketch.

With so many new frontend solutions focused on lowering the number of requests backend receives, transferring the workload to the browser, the job of frontend developers is only getting harder. They need to know a lot of things that were previously reserved for backend while the
same can’t be said in reverse. Furthermore standards change; new frameworks and libraries are coming out every day. Only a
decade ago you could have stayed on top of all these emerging tools in frontend development, but today it’s practically impossible and developers tend to specialize, especially when it comes to SPA frameworks.

For many developers the problem is not how to code something but which tools to use, and it’s impossible to reach expert level in every new technology.
Testing has become a major task for every serious frontend developer. Catching and fixing the errors before the code goes to production is sometimes a bigger job than writing the software. There are also a substantial number of edge cases to keep track of, and bugs that only appear
for certain combinations of OS/Browser/Device.

Conclusion

With so much stuff to keep track of, is it any wonder many frontend developers are reaching burnout?

“When your field is changing so quickly that best practices are obsolete within two years, you have to run just to keep up.”

Is the backend still more complex than the frontend? It depends on how you define complexity. But it’s not changing as fast as the frontend. The market shift contributed, more people have access to the Internet than ever before, businesses require online presence in order to function; all of this is driving the need for more sophisticated GUI solutions. And frontend developers have to learn a new framework every time they change jobs.

--

--

Nemanja Alavanja

Software developer engineer/architect currently working on Serverless architecture powered by AWS Node Lambda