DEV Community

Cover image for The Software Development Industry is Crazy
Thomas Hansen
Thomas Hansen

Posted on

The Software Development Industry is Crazy

Software development is arguably the craziest industry in the world. You'd believe we're rational human beings due to our capacity to think algorithmically and logically - Still the exact opposite seems to be true.

Shamas living in the forrest, charging for spiritual readings, interpreting your future from a bunch of orange juice, spilled unto a clothing made out of a virgin's silk dress, during a full moon, actually makes more sense logically than software development as a profession ...

Software development is the most superstitious and rubbish-based profession that exists in the world, possibly only exceeded in the amount of rubbish by the dude emptying your garbage bin at night.

0. Software development, the Definition of Crazy

We've built "the infrastructure the world runs on", using arguably the worst building blocks possible to find, architected on the most batshit crazy axioms in existence, invented to solve some problem, that didn't even exist before "the cure" was invented. This is true to such an extent that if you're a software developer today, you should arguably be ashamed of yourself!

In fact, if you're at a party and people ask you what you do, and you're actually a software developer - May I suggest you lie and tell them you're a burger flipper at McDonalds? At least that way you'd avoid the stigma of having destroyed the world ...

I'll go through some of the major problems in sub-sections below, but describing what's wrong with software development in 2024, is an exercise equivalent of describing the garbage you find at a dumpster!

It's basically all a hot smoking pile of garbage!

1. Python

Do you want to know a secret? Python is a hot smoking pile of garbage. It was originally intended to execute single threaded command line scripts, but is now being used to serve multi threaded web applications with millions of consecutive users. To give you an analogy of the absurdity of that fact, imagine meeting up to a Formula 1 race with a steam engine powered bus from the 19th century. And yes, Python is literally that bad! Still it's being used by 50% of the world's "most critical infrastructure."

About 20 years ago Google decided to fix Python, so they hired some 50+ of the smartest developers on the planet to try to make it actually work. After 20+ years Google's smartest developers gave up, and Sundar Pichai fired the lot. Python literally cannot be fixed!

Python is a hot smoking pile of garbage, and 50% of the world's production code actually runs on this shit!

The problem originates from the way the garbage collector was implemented. I could give you a detailed explanation of exactly why it's unfixable, and why it's impossible to scale a Python web app without spawning of a new processes for each new request hitting your web server - But that would be an exercise equivalent of explaining in details how dog shit looks like, and completely useless for everyone but the most morbid amongst us. All you really need to know is the following ...

Python is a hot smoking pile of garbage! Don't use it! End of debate!

Sure, it's got some nifty syntax, ignoring the fact that you can never see the difference between a single tab and a bunch of spaces - But Python is literally 100% completely useless to the things it's being used for today!

Code in Python? No thx, I'd rather do crack cocaine, or heroin, or something that's less damaging to my personal health and ability to think straight ...!!

2. OOP is a mass psychosis

I wrote about this a couple of years ago, and I was slaughtered in the comments for my thoughts. However, if you read the comments carefully, and yes, there are 157 of them, you will notice how it seems to be consistently the devs least capable of rationally explaining their stand that are resisting my thoughts the most. The devs who seem to have the most experience in these comments, due to how they're phrasing their thoughts and arguments, are for the most parts agreeing with me. Basically, most senior devs with 20+ years of experience agrees for the most parts.

It's kind of interesting to see how the correlation between the inability of phrasing rational arguments seems to grow proportionally to one's love of OOP ...

BTW, if you're having troubles understanding my words, or reading my sentences, may I suggest you stop using OOP ...? ðŸĪŠ

However, to give you the 3 paragraph summary of why OOP sux; Software development is about describing processes. A process is a verb. Verbs are stuff such as "walk", "fly", and "paint". Subjects are stuff such as "person", "airplane", and "painter". Tying your "subject" (class or type) to the verb (method) is like driving your car with a 2 tons heavy anchor weighing you down, while having an open parachute behind your car further slowing you down, while simultaneously trying to run your combustion engine on fairy dust instead of gasoline. To illustrate its problems, let's imagine the following.

How are you going to describe the painter's brother stepping in as a substitute for the painter for a couple of days if the painter's brother is a musician and not a painter? What does this do to your class hierarchy? Do you add DoPaint as another method on your Musician class ...?

Who decided musicians can't paint? And if they can paint, how many bajillion other verbs are you going to add to the Musician class? And how do you instantiate a new person who's both a painter and a musician ...?

Tying the subject to the verb is simply madness for the above reasons. No sane human being does that, since the whole idea with subjects and verbs is that they are not entangled together the way OOP dictates. This is why all classes inevitably end up with a method named DoShit, or something similar, which serves as a garbage bin for "everything we didn't think about when architecting our class hierarchy."

Natural Language does not associate verbs with subjects, at least not before some action is executed - And there are no strict definitions for what verbs a subject can perform. A musician can fly, swim, talk, paint, and play music. The dis-association between verbs and subjects in natural language has evolved over hundreds of thousands of years, and influenced our evolution when it comes to thinking - Until OOP came around and messed everything up. Changing the rules of communication like OOP does is ipso facto like lobotomising your ability to code.

OOP is applied brain damage and a software development mass psychosis! Period!

And yes, (duh!), Python is an "OOP language" to further the insult!

3. Everything is junkware!

I've worked as an enterprise software developer my whole life. This implies 25 years of professional experience as a software developer, and 42 years in total since I started coding. And yes, I started coding when I was 8 years old, and I'm 50 years today!

Literally every single job I have ever held implied "wiping other people's asses." I've not even once in my professional life seen a single line of code worth stealing! Literally!

I've worked on software being used by Fortune 500 companies, some of the largest companies in the world, and I can testify to that it's basically all garbage.

I have never, not even once, seen production code that was good. 25 years of software development experience, having worked on infrastructure critical software, for the health care industry, fintech industry, often responsible for life and death, and moving billions of dollars annually - And it's all junkware!

Stupid race conditions because the original devs had absolutely no idea what multi threading implied. No ability to scale because the original devs had no understanding of how to build scalable apps. Resource hogs requiring 4GB of RAM to simply start the process, etc, etc, etc.

In addition to that I'd have to wade through 40 layers of abstractions and IAbstractFactoryToCreateActionExecutorDoingSomeSjit just to find some ridiculous "Hello World" statement at the other end. Preferably implemented through 1,465 layers of micro services, to do a frikkin' DateTime.Now invocation, and return to the original caller ...

It's all sjit! ALL OF IT!

Wrapping up

Every single company out there prides themselves in that "they're sustainable." How can you be sustainable when your entire platform is built upon a programming language (Python) that ipso facto requires a new process for each thread hitting your web server? That's like claiming you're sustainable while driving a Ford Truck, consuming 15 gallons of gasoline per mile, due to a hole in its gasoline tank.

And then let's talk about Google for crying out loud. These software developers are supposed to be some of the smartest devs on the planet. Still their frontend JavaScript code is scattered with document.write invocations, blocking code, often not even minified, downloading 500MB of crapware to do a frikkin' "Hello world" thing.

Facts are, if you're a software developer today, and you're at a party and somebody asks you what you're doing - I'd lie and tell them ...

I'm wiping other people's asses in return for money ...

... because that's what you're actually doing! At least, that's what I'm doing ... 😕

There's absolutely nothing glorified about being a software developer. We're "the fruitcakes of the world", due to our ability to take simple and easy to understand concepts, and turn these into complex garbage incomprehensible for most, because of our desire to simplify the original idea ...

The irony! You couldn't make this shit up if you tried, even if you started out by proclaiming that the universe was made by a green alien from Sirius, who's purpose it is to build useless stuff, consumed by useless eaters, who's greatest contribution to the world is the shit they leave behind in the toilet after breakfast ...!!

And in fact, it's even worse than that - Because at least those who shits in the toilet don't shit in my IDE ...!!

Happy Coding - Hopefully I destroyed your day, like you destroyed mine with the code you created, that I had to clean up, because you had absolutely no idea about what you were doing ...!! 😊

Top comments (4)

Collapse
 
programcrafter profile image
ProgramCrafter

Care for a go on databases? :-)

For instance, I'm building a site where users might have a variety of auth methods, and enums with validation data (password hash, etc) cannot be stored in SQL databases unless stringified...

Collapse
 
polterguy profile image
Thomas Hansen • Edited

I've gone at it in one of my previous articles in the "Myth Busting" series, where I basically pillage NoSQL stuff ... ;)

Everything can be stringed, base64 ... :)

But I might have another go at things I passionately hate, including (most) DBs ... :D

Collapse
 
ajborla profile image
Anthony J. Borla

Eloquent, passionate, illuminating, and entertaining, as are many of your posts. Thank you, Thomas.

Collapse
 
polterguy profile image
Thomas Hansen

Thank you :)