The downfall of web development
Victor Ocnarescu
Posted on March 4, 2023
It has begun. The downfall of web development. I don't know how it started, but it seems unstoppable. Layer after layer of unnecessary complexity keeps being added to every part of web development. And it makes the life of modern developers a living hell.
To promote this new trend, I have prepared a list of features that you can add today into your project to make it even more complex.
I am assuming you have an idea for the app you want to build, you have a small agile team and you want to launch it as quickly as possible.
Let's start with the list:
1. Use Docker for everything
I don't care it could work without it
You will enjoy a relaxing delay every time your project starts.
Bonus: you will have to recreate the Docker image every time you install an NPM dependency
2. Use Strapi for labels and texts
I want to be able to change the labels once a year
You will enjoy adding keys to the list of every single one of your inputs and making the frontend code so much more complex (you will reference a key within an object, not just some text, that would be lame and unusable).
Bonus: you will have to keep another exact copy of your labels somewhere in your codebase in case the connection to Strapi fails.
3. Use many Git environments
Only one
main
branch? No way, let's addstaging
anddev
Setup a complex Git environment before your new app is live and enjoy the benefits of having multiple environments that have the same purpose.
Bonus: protect your branches so that no developer will be able to quickly fix bugs without going through the peer review process.
4. Use Typescript
I want to know and control EVERY type
You will enjoy looking smug at poor old Javascript and you will write at least 50% more code. More code means it will be easier to manage it in the future, does it not?
Bonus: your code will become much more readable, especially on the frontend, where you usually just want to style a div.
5. Use styled components
I don't want to use the most powerful CSS feature: classes
You will enjoy writing style after style without any reuse. It doesn't even matter that utility CSS frameworks like Tailwind exist, you want to write CSS-in-JS because it's trendy. Good for you!
Bonus: don't even think about CSS media queries. Instead use useMediaQuery
hooks to do in React the exact thing you would do in CSS.
6. Use microservices to split your data
I am worried about scalability for my brand new app
You will enjoy splitting and duplicating your code in every microservice without any real benefit. Premature optimization is such a joy!
Bonus: it will also be harder to retrieve data from one microservice to another. You will probably need a private NPM package to tie everything together.
7. Do not use code formatters
It looks the same to me
You will enjoy having to review Git commits that change a single quote into a double quote, different new line formats and all of this valuable changes to your codebase.
Bonus: don't even look at code standards, inline those pesky one-line if statements
And there it is, the 7 deadly sins of modern web development that will consume your time, kill your creativity and make a simple web app into a complex beast.
Hope you enjoy reading the article as much as I enjoyed writing it.
Posted on March 4, 2023
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.