Reasons of why software engineers underestimate frontend developers

illustration of a front-end web developer working on his desk

If you’re a frontend developer, fresh out the water or not, you’re probably facing the same ridicule at your job. You may have even gone to multiple coding dojo’s to learn the top programming languages as quickly as possible to avoid becoming a codemonkey. But I personally take issue with the notion you need to be some master of all things in order to be an outstanding developer. I’m personally tired of the hate and disrespect frontend developers get.

So where’s this hate stem from? Why do software engineers, backend developers, and IT admins hate frontend developers?

Frontend developers are not computer scientists

More often that not, frontend developers are not the most CS-savvy folks. Where they may exceed in things like user experience, SEO, design, and optimization, they lack in security best practices, and just the general understanding of how the infrastructure serving their code actually works. And working with people who don’t understand what you do can be frustrating. Most frontend developers are focused on the web, so they don’t often take the initiative to learn things like Ruby, C#, C++, Python, or how to configure local DNS to test local infrustructure.

This makes it difficult on your other engineers and developers, because the things a frontend developer may ask for may be incredibly tasking and not worth-while in the long run. It can make the job of a server admin a lot harder if the frontend developer is coding email forms with no regard for security, or hosting high-bandwidth assets on an origin server.

Frontend development is redundant

Especially on the web. Frontend development is always thought of as “the easy part of engineering”. If that’s the case, why aren’t all software engineers stellar frontend developers? Simple answer: it’s too hard. It’s too hard to account for 20 different browsers on 30+ different devices while simultaneously accounting for accessibility, usability, SEO, and performance. The work is repetitive, even with the best of frameworks or CMS’s.

Frontend development is way too hard

The basics of CSS, HTML, and JavaScript are fairly easy to understand. With a basic understanding of math, understanding code, and the logic behind it, is not all that difficult to do. The difficulties come when the work you do become revenue impacting, user facing, or hits a web browser. There’s a lot of weight and responsibility with frontend development, because it’s the only part of the development process that users will see and interact with.

When it comes to the web, you deal with so many browsers and devices, it’s difficult, dare I say impossible, to debug them all. That’s because in frontend development, when something breaks, it’s not broken. When your links look funky, or your content isn’t readable by screen readers, or a tag isn’t closed properly, your browser doesn’t tell you. It’ll tell you when your javascript is broken, but that’s about it.

There’s no error-log for broken CSS or HTML. There’s no error-log for a broken user experience. A great frontend developer can code with scalability, regression, performance, cross-platform compatibility, UX, and SEO all in mind from the start. This is unique to frontend developers, and is often a huge pain-point for other developers.

It’s a marketing position, and marketing is dumb

Many web developers and frontend developers need some understanding of online marketing, because the job itself sits under the marketing department. Frontend developers are often the ones responsible for building user interfaces intended to sell products, advertise the brand, and optimize for various key performance indicators (KPI’s) like RPV, conversion rate, and engagement.

I’ve tried explaining marketing initiatives to other engineers, and it usually flies over their heads. That’s not to say these engineers are dense, but engineers focus primarily on functionality and stability making something work well and efficiently. They don’t always care about how it looks, or how it speaks to people. That kind of thing is secondary and that’s fine. But just because something is difficult to grasp or is secondary in your field doesn’t make it any less valuable or important.

In fact, it’s usually the designers, content writers, and frontend developers building solutions that actually make the company you work for the most money. They actually sell the products you might be building.

It’s not code

Frontend developers don’t just code. In fact, in my time as a developer with a huge focus on frontend, I’ve found myself working with corporate and marketing strategy as much as I worked on building stable frameworks and landing pages.

It’s not just that, either. As a frontend developer, you need to learn your way around the ever changing design tools for the web, like photoshop, illustrator, or sketch. You need to understand video compression, image optimization, and font compression. You need to conduct usability research. You need to understand how search engines work, even though search engines won’t tell you the rules behind their algorithms.

So as a software or server engineer, the idea of learning design, video editing, or typography just isn’t all that appealing, and probably just sounds nonsensical. But again, just because you don’t understand something doesn’t make it unimportant.

It’s not “real” code

As it becomes more complex, it becomes harder and harder to master, and with this stigma around frontend development essentially being “baby code” making full-stack development more desirable, there’s a huge shortage in real, stellar frontend developers. In spite of the unpredictable and complex rendering across various devices, screen sizes, and browsers, frontend code is, now more than ever, just as algorithmic and logical as any other language. The thing is, you have to actually know how to code it that way.

In my personal experience, most software engineers’ frontend dev work sucks. Genuinely. To them, writing that kind of code is gruntwork, and there’s never any thought to make things better. Fact is, frontend code is so incredibly flexible and works quite well with other programming languages. To dismiss it so easily is, quite frankly, short-sighted.

The frontend development field is expanding, and it’s scary

Frontend development used to be HTML, CSS, and maybe JavaScript. Today it’s HTML5, CSS2 and 3, JavaScript, WebGL, and more. Frontend development is becoming more and more complex and capable, and therefor the demand for good frontend developers is skyrocketing. Frontend code is beginning to function more and more like native application code. Mozilla even has a full on native OS powered by HTML5, CSS, and Javascript.

Fact is, regardless of your opinion on which language is most stable, clean, effective, etc, the web is the only language so accessible and usable on any device, on any screen, on any operating system.

I’m not saying frontend development is superior, but the demand for the knowledge is growing. The problem is the dogmatic attitude between one group of engineers and another discouraging people from discovering something they could truly be passionate about.

The DOGMA must end

Quite frankly, I’m tired of the bickering. I’m sick of going to meetings where frontend developers’ ideas are given the “yeah sure whatever” response. Rarely do I see frontend developers pass up the chance to grow or the chance to teach. Rarely do I find frontend developers who don’t hold their backend counterparts with such high regard.

Often do I see frontend developers shot down by their engineer peers. Often do I see IT admins ignore requests from frontend developers. And it’s not just frontend devs vs software engineers. It’s Java vs C++ vs C# vs Ruby.

If you follow this kind of religion, you’re not a computer scientist or an engineer you’re an asshole who isn’t creative or collaborative enough to work with others.

Too often do I see “masters” of all different languages bashing other languages, as if one is actually better than the other. Fact is, every aspect of development is as useful, important, complex, and amazing as the next, regardless of the framework, the language, or best practices. We have a shortage of GOOD coders right now, because too many developers discourage and shoot down developers in other fields. It’s hard to find the appeal in something where your peers look down on you because you code a different language.

So in conclusion…

Stop the bickering. The software industry is bottlenecked by this religion, this dogma. If we can share a mutual respect for each other, we can work together to make things better. We can innovate more rapidly. We can do pretty much anything…

Quote: David Crandall
Source: David Crandall

#inspiration #development #frontend #explanation #business