Front end developers are software engineers, too

Surprisingly, I still see people on the internet wondering why the demand for front-end developers is getting higher and higher when their job is much easier than the one of the back-end developers. Here’s my response to them. It’s not. The front-end developers are in high demand because believe it or not, they are engineers, too. Their job is as hard as the back-end developers. Here is why.

Skillset

A complete front-end developer should be able to work with a variety of languages. HTML, CSS, and Javascript are just the basis. To keep up with the front-end development trends, front-end developers need to be familiar with frameworks like ReactJS, AngularJS, Backbone, Bootstrap etc. Additionally, Javascript is becoming even more powerful these days. There are dependency management tools (npm, bower), workflow automation packages as gulp and grunt and a bunch of other JS packages that the front-end developers should know, to be able to stand out from the crowd.

Environment support

Unlike the back-end developers, the front-end developers can’t just choose the environment and code for it. There are many browsers, many versions with bugs specific for each, and new releases. They don’t support the same features and, even if they do, a lot of them are implemented differently, so the developers have to take that into account. On top of everything, there are still users who use Internet Explorer 9 and below.

The back-end developers can choose to use Vagrant, Docker or any other VE/VM tools and ensure environment compatibility, which makes their lives easier on this.

Software Architecture

Javascript is as powerful as any backend language. A proper application these days should have a good front-end architecture, the same way it has a back-end one. With the latest JS frameworks, the front-end developer often has to use MVC based architecture, which is pretty similar with what the back-end developer does.

Furthermore, a complex application can’t pass without front-end testing anymore. There is Karma, Protractor, Jasmine, QUnit and several other testing tools for Javascript that will assure browser and cross platform compatibility. A good front end developer should be familiar with browser automation tools like Selenium and PhantomJS as well.

Accessibility, Usability & SEO

User experience is not only about designing a beautiful and clean website that’s nice to look at and easy to navigate through. Thinking of user experience should also include accessibility. A good application should make it easy for users with disabilities to access the content and navigate through it.
Another important thing in this category is to make sure the content is crawlable by the search engines. That would mean serving a pre-rendered version of the app, so the search engines can crawl and index it.

Web Performance

Even though the back-end performance is especially crucial, around 80–90% of the website loading time is on front-end side. This means the performance is another important point in the worries plate of the front end developers.

There are a lot of people who still think there’s no engineering in front-end development. Yet, I know a lot of great developers who switched from core back-end languages to front-end development because they have recognized this trend. On top of everything, the new development standards like progressive web applications and Serverless applications are already being recognized as the future of the web. As they develop, the front-end engineers would become even more attractable.

Tosho Trajanov
Software Engineer