"My preferences though"

By Spiro Floropoulos
Home Twitch YouTube X LinkedIn

You can read the introduction to this article to get some context.

Whenever I bring up the opinion that the tech industry is failing, there is one primary argument given back to me.

My best summation of the components of this argument are:

Given all the points above, the argument is something like "The industry is doing fine. Look at all the positive advances we currently have and continue to have as a result of how well the industry is doing.".

The points above are not terrible. However, they are devoid of data. I have not yet had anybody come to me with data for any of these points.

You can intuitively agree with the points. They seem true. They feel true. Are they true? If so, where is the data?

Even without data, however, my primary argument that the tech industry is failing still holds. For this article, I will stand only on my opinion, without data.


Websites and software do more than they ever have before

I would imagine a large population of programmers would agree with this. Especially when looking at the past ten years or more. There are some areas or even some specific examples where this is not true but, overall, this seems to be true.

My counter: does this negate my point? Why does an increase in features or capabilities indicate that the tech industry is getting better?

The tech industry is not solely derived from "number of features". There are some underlying factors at play.

For example: let's assume 20 years ago we had 100 features in the entire industry. Today, we have 300. However, 230 features are less than optimal in performance and have

It does not matter how many features you have if those features are not properly usable.


Our developer experience to create these things has never been better

This is simply a preference argument. Your developer experience is a preference how write code.

Both can be true. You can have a great developer experience producing sub-par code, ad nauseam, which causes a decline in the tech industry.


Our ability to quickly push out products and iterate has never been better

Another way to state this argument, with a minor tweak, would be: "Our ability to quickly push out products, with many bugs and sub-optimal peformance, and iterate, with more bugs and even less performance per iteration, has never been better".

I think my argument and the one about product shipment speed and iterate can both be true.


We are re-inventing fewer wheels

How a wheel is made is not considered in this argument. If someone invents a wheel in such a shoddy fashion that the wheel breaks upon light usage, would you not want to re-invent it? Also, if someone invents a wheel and you don't care to look at how the wheel was made, would you know how to fix it once it broke?

Fundamentally, how would you even know how to re-invent the wheel if you don't even know how wheels are created to begin with?


Hardware and Internet are advanced enough to give us room for less optimum outputs

This is true. However, why are we lowering our standards? Our ability to increase our standards is getting better, is it not?

Lowering standards because we can pump out products faster if we do so is actually a self defeater. If you're producing products with less performance and more bugs, and you do so with compound effects, and you layer these bad qualities over each other multiple times... etc.

How is this not wasting a golden opportunity of hardware advancements?


You want to write Assembly for everything?

If someone is willing to agree to even some of my counters, the usual response is then "so we're just going to go back to Assembly for everything?".

First, why would that be "bad"? Is it because it would take longer to get the same products out? If you could ensure that you get the same current overall quality in the tech industry but you just took longer to do it, I could understand the hesitation. However, by nature of using Assembly, you would be so close to the bare metal hardware that you would actually learn how things work under the hood far better than any abstractions we currently have today.

If it took longer to create everything we have today but, as a result of doing it in Assembly, we dramatically reduced the number of bugs we had and dramatically improved the stability of products and features, why is that bad?

Second, this is a "preference" argument, once again. You prefer to work in abstractions because it makes your developer experience easier or nicer. Working in Assembly would be such a slog that it would be unappealing to most programmers to even begin. Your "preference", however, clearly is not working. If it were and developers had a better time creating higher quality code then we would be seeing increases in software and website quality. Instead, the "developer experience" is simply "how many things can I piece together like a plumber to get an output that somebody wants to see".

Third, I do not want us to actually go back to Assembly for everything. What I would like to see is a willingness to explore why we are not using Assembly. Or, as a compromise, why are we not asking programmers to understand more about how things work under the hood? How do your instructions at a given abstraction level actually get implemented in the hardware you're running it on, for example? Maybe having some pre-requisite educational exercises as to how you might create certain features or operations in Assembly would serve programmers well when they have to re-create those same things in abstractions.


No data, just feelings

Given all this, you will note there is still no data. All the arguments, in any direction, are all based on some form of intuition or feelings. This means the arguments stand on sand, not solid ground.

You could almost indefinitely go back and forth on these arguments where everybody "feels" something different. Some "feelings" are more persuasive than others, depending on who you are and your experience. All these other factors that play into that.

However, the data does exist. This means metric or quantitative data as well as how companies and the industry actually operate in the real world versus how we "feel" the industry operates. For example, there are instances where the industry operates in direct opposition to the "feelings" or "experience" we intuitively lean towards being true or "sensical".

The consequences of this, in my opinion? If you go against nature, you pay the price for that, and we are paying a heavy, heavy, price.


In my opinion, we've lost our way. I am hoping that, after showing some hard data and going over the negative side of things, I can offer encouragement to get us back on that good path we were once on.