As a software engineer with years of experience in the industry, I can't help but feel a growing sense of unease about the direction we're heading. The tech world that once inspired awe and promised boundless innovation now seems to be spiraling into a state of complacency and short-sightedness.
Gone are the days when programmers would spend countless hours optimizing code for performance and efficiency. Today, we're content with bloated software that consumes excessive resources, all in the name of rapid development and deployment. The art of writing elegant, efficient code is becoming a lost skill, replaced by a "good enough" mentality that prioritizes speed over quality.
What's particularly troubling is the rise of developers defending their coding practices based on mere preferences rather than objective data. We hear arguments like "I prefer this framework because it's more intuitive" or "But my favorite tech streamer said I should do this" or "This language is better because it's what I'm used to," without any consideration for performance metrics or long-term maintainability. This subjective approach to software development is contributing to the decline in code quality across the industry.
This shift in mindset isn't just affecting individual developers; it's permeating entire organizations. Companies that once prided themselves on pushing technological boundaries are now more concerned with chasing the next quarterly earnings report. The focus has shifted from creating truly innovative products to simply maintaining market share and appeasing shareholders. Programmers fall into this trap too as they are sometimes attached to the company in terms of equity and are just seeking the easy way out.
Just kick the can down the road. Someone else will deal with it. As long as I bring home the paycheck or get that fat wad of cash on a buyout.
The consequences of this approach are far-reaching. Our digital infrastructure is becoming increasingly fragile, with security vulnerabilities and performance issues plaguing even the most widely used applications. The web, once a beacon of openness and accessibility, is now a bloated mess of JavaScript frameworks and unnecessary complexity. In fact, a study of over 5 million websites found that the median page weight has ballooned to 2.01 MB, with JavaScript accounting for nearly 25% of that weight. This excessive bloat directly impacts user experience, especially for those on slower connections or older devices.
What's most concerning is the apparent lack of awareness or concern about these issues within the industry. We've become so accustomed to subpar software that we no longer question why our devices run hot, why our batteries drain so quickly, or why our applications crash so frequently. The average smartphone app, for instance, crashes 1-2% of the time it's opened, yet we accept this as normal rather than demanding better quality.
This complacency extends to how we approach emerging technologies.
Further, the industry is all too happy to hide behind social movements to mask this obvious refusal to use their brain in any meaningful capacity. They do this by bringing in "inclusive programming" guidelines like Unreal Engine recently did internally where the idea of using the term "whitelist" is somehow offensive. This is a very convenient way of defending against criticism by respond with "If you don't like our code then you're racist".
Influencers and tech streamers are all too happy to capitalize on this too. They pander to your emotions as a programmer so you "feel good" about what you're doing. Very few of them stand behind strong opinions anymore or dare to defend them. At the smallest sign of pushback (on serious topics) they cave to the mob or to the person they are interviewing in front of them. Most of them have a superiority complex but it's hidden behind their ability to make you, the viewer, feel more than think. This is a standard cult tactic since strong feelings often override any logical abilities you may have.
As we move forward, it's crucial that we, as an industry, take a step back and reassess our priorities. We need to rediscover the passion for craftsmanship that once defined software engineering. We must challenge ourselves to write better code, to optimize for performance, and to consider the broader impact of our work. This means moving beyond personal preferences and basing our decisions on concrete data and measurable outcomes.
Companies, too, must look beyond short-term gains and invest in sustainable, long-term innovation. The tech industry has the power to shape the future, but with that power comes responsibility. We owe it to ourselves and to future generations to build technology that enhances lives rather than complicates them.
In the coming articles, we'll delve deeper into these issues, with actual data for the above claims, examining the root causes of our industry's decline and exploring potential solutions. It's time for a wake-up call. The future of technology – and perhaps society itself – depends on our ability to course-correct and rediscover the values that once made the tech industry a driving force for positive change.
The following are the main questions that I will be asking:
In the next article I briefly go over the arguments around peoples preferences in the tech industry. How you "feel" as you write code is a losing battle and the tech industry is proving this out. If you continue to think that your "feelings" matter more than the quality of your code, you're simply a fool and you don't belong in tech.