Joe Santos
Software engineer
Software engineer

The engineering world is under an attack of drama and concepts that segregates us into different camps without us knowing. Are we doomed?

Something has been slowly happening to software engineering, especially on the web side of things. Engineers are no longer checking their assumptions. This bad trait probably started growing around the time that jQuery came out when web developers started assuming every project, every website should use the library and while this sentiment grew, the polarizing started.

Fast forward to today and we can see where the snowball is falling. You start to see faction camps where fanboys defend the honor of their leaders until their last breath. React vs Others, GraphQL vs SQL, CSR vs SSR, Tailwind vs CSS, creator A vs creator B... The drama list goes on. Every day a new battle arises. It becomes a tiresome and frustrating sea to navigate and if you are not careful enough to shut it off, it will bring unrequired stress to your life.


Humanity is the problem

As complex breathing beings, our ambition is directly linked with competition (which explains why we are such factional drama queens). We also tend to be masters in figuring ways to be lazy by installing routines. This makes an amazingly bad combination of features.

We have evolved brains that have a great capacity for deceiving ourselves. No matter how smart we are, or how many of the secrets of the universe we understand, the brain can fool itself and us.Carl Sagan

The human brain is always trying to figure the quickest path to resolve a prompt action but that doesn't mean it is the best way to do so. It is only natural that us as humans want to find the single "best 10x ninja way" to solve every problem. Besides this being an utopian endeavor, it makes us reluctant to adhere or explore other paths.

Seeking this, we end up following those that we look as being more knowledgeable than us. We don't try other solutions. We don't think about our current ones. We get caught in these so called "leaders of the industry" methods just because it is right there or because it is known as the established method, the "industry standard".

Is the humanity in engineers dissolving the backbone of the field? This polarizing view of the world is not helping us grow nor helping software engineering, it is indeed doing a disservice.

Solution

Form follows functionLouis Sullivan

The way to move forward is to simplify, be critical and logical upon our decisions and not make excuses for our polarizing thoughts and decisions. When we talk about tech or maybe even the whole spectrum of engineering, there are a million ways of solving the same problem and there is no point in being judgemental or to follow religiously any of those methods. We need to be critical and decide which is the best solution for the task at hand.

Your assumptions shouldn't stand on tech decisions but on the project's requirements. Does it need to scale fast? How many users do you have? How big is your team? Does it need to be highly interactive? What is the main feature that the users will care about? Do you need to ship fast? All these questions are more important than any opinion you might have or any stack you like to use. That doesn't mean those questions won't change, they might and they probably will. That is the nature of software engineering. It is always evolving. It is always changing and it is our job to figure which tools to aid us through the journey. Each step might require a different tool and that is ok. You wouldn't use a hammer to cook a meal right?

Conclusion

We can't foresee the future. We try and try but we simply can't. Taking a startup as an example, how many users will you have? How do you know the product won't fail within a year? You simply don't know and as soon as you figure that out, the better because now you can take decisions at the current requirements and not worry if it will scale to 1 million users when you don't even have one.

In summary, take one battle at a time, be critical and don't let others decide for you what is best when they don't even know what the hell your problems are.


I am eager to discuss this topic further. Ping me at @iamajoe_