Popular Opinions vs Pragmatism in Frontend Development

Tino
5 min readApr 10, 2021
A sketch presenting a cup of coffee with the inscription: “Everyone is entitled to my opinion!” — Created by Captain V
A sketch presenting a cup of coffee with the inscription: “Everyone is entitled to my opinion!” — Created by Captain V

Today I woke up positive. I made a cup of coffee and thought to write a medium post. Then reality struck and I could not stop myself writing a bit of a rant post. So take some pinches of Himalayan salt when reading this and take home what applies to you.

I spent decades on building web apps and user interfaces for small and large companies, private and public. I worked for governments, database companies as well as famous fashion brands or games. In my humble experience there were endless times when I encountered a lack of reasoning when we had to choose a technology, a pattern, a framework. Decisions based on personal opinions, decisions based on the most popular medium posts or opinions based on the most famous tweets.

In 2021 we are still debating whether we should write HTML and CSS in JavaScript or not. — Captain V

Can I condemn these developers? No. We are rushed into making important decisions. The landscape is still virgin. We as a frontend “republic” are still shaping the rules and the guidelines of this world. We as frontend developers somehow refuse to learn from other people’s mistakes. That’s dumb. Take backend developers for example. They learned the hard way that mixing presentational with business logic will start smelling very fast yet in 2021 we are still debating whether we should write HTML and CSS in JavaScript or not.

Today we are not encouraged to push the boundaries of what’s possible. Even more, we copy paste someone else's solution for someone else's problem. We blindly believe that everything that’s new must be good. Look around and observe that out of all areas of software development, the frontend landscape changes unbudgetably fast. It’s brutal. It’s brittle. It’s fragmented. Fanboyism prevails and the popular opinion, mediocre most of the time, wins. It’s a sad reality driven by inexperienced developers that don’t know what they don’t know.

The masters out there should not close an eye and start educating the new generation, sharing the battle stories and their learned lessons. — Captain V

We are facing a revolution in this world. Universities are struggling to keep up with the technology and current market demands. Courses that promise you the moon are popping up like mushrooms. Pay £9000 and become a developer in 4 months. This is ridiculous!

I get it. We need more people in this industry. But let’s not kid ourselves. We need to take care of this craft. The masters out there should not close an eye and start educating the new generation, sharing battle stories and their learned lessons. Pragmatic principles are not dead. Our ignorance of pragmatism is at our client’s expense. Frontend development should not be different than backend development. We are writing software to solve a problem. It happens that we have to write software. Writing software it’s a means to an end. Stop blindly following all the trends.

Did anyone observe how marketing makes us stupid? Just think of the name people choose for their projects. I like marketing but somehow when it comes to education or a craft like software engineering it should be a decent marketing and not a deceiving one.

Take ReactJS for example — what? If I don’t use react my app would not be reactive? Bullshit.

Take styled-components — such capitalisation of simple words. My components have been styled since 2002 without using styled components. Bloody tricks. Innocent at first, these carefully named tools become the de facto. You hear everyone (most of the novice people I met) confusing a framework or a brand of a tool with the common meaning. People are talking about the styled components tool like it’s the de facto of styling components. Another bullshit.

Take next.js for example — it’s the next futuristic framework? Really? What’s wrong with all other frameworks so far. What’s wrong with the previous.js approach? I’ll tell you, not much. But again, these names work on a subliminal understanding making the average novice developer feel like they are doing cutting edge work, working on the next big thing. Learn the fucking basics people.

React is the Ariana Grande of the Frontend world. — Captain V

Now I may sound like I am talking about conspiracy theories. Not at all. It’s a free market and we can advertise these tools the way we want. They are not all bad. But they are not perfect either. I think the creators of the frontend tools today have the moral duty to educate the masses. At the end of the day React is the Ariana Grande of the Frontend world or put simply, these days the most popular post on medium is worth more than a decade of experience. The most vocal mediocre developers will win. The humble masters give up. This is not good. We’ve got to do something. And I am not a master yet by all means nor do I have all the solutions for this mess.

Let’s not kid ourselves and accept this bullshit blindly. Frontend development is going through a revolution. The web platforms are evolving at a hallucinating speed. However, the principles of writing robust software that lasts more than 6 months have not changed much over the years. We live in a world of hypes and instant gratifications. Let’s be cautious when we take decisions on behalf of our clients. They trust us with their money. We are the doctors of their apps. Let’s not fuckup these apps and deliver real solutions that improve people’s lives.

Frontenders, we are fucking displaying some text on the screen. — Captain V

Frontenders, we are fucking displaying some text on the screen. Let’s not masturbate for 10 years on how to style a fucking button. Let’s be pragmatic and move on. Companies will always sponsor projects and projects will become famous. That does not mean they are great or should be used on every solution. Now, more than ever we should be vigilante, learn the basics, learn the platform, learn native JavaScript, learn the web APIs and choose wisely the tools we are using when operating on our clients projects. They trust us. Let’s not disappoint them.

I will try to write something more positive next time, promise.

Tino

--

--

Tino

Software Developer and Helicopter pilot. Inventor of bubbology.