Do me a favour, write out the title of this article on a piece of paper, create 50 copies of it, and hang up each copy at strategical places in your house, your office, your car, everywhere. Why? Because it allows you to remember the truth every time somebody tries to feed you their lies. Their lies of course are ...
Software development is difficult
Seriously, software development is not difficult, it's DEAD SIMPLE! Software developers have been lied to for such a long time, they've started to believe their own rubbish, and even repeating it, until it's turned into a self fulfilling prophecy, where everything becomes complex as a consequence of that they believe in their own lies. To illustrate the dilemma, I want to paraphrase Erik Naggum.
The inexperienced software developer had a problem, so he said "I know, I'll just use OOP, OOA, OOD, SOLID, Design Patterns, applied into a Micro Service Architecture with Kafka, MongoDB, Event Driven Architecture and Sagas" - The inexperienced software developer now has 11,365 problems ...
The solution to a problem is never to add more problems into the pot. If you start out over engineering your solution, it's no longer a solution, but a self sustained problem!
If you start out by doing what I told you to do in the first paragraph of this article, and you spend 75% of your scheduled project time to make yourself believe in it, you'll probably finish before the guy who didn't follow my advice. Literally, I truly mean that!
Code is a projection of your mind. If your mind is full of rubbish, your code will be full of rubbish. Hence, your first task as an aspiring software developer is to clean your mind from all the rubbish they've made you believe in before you start creating software.
To clean your mind of rubbish, realise that if it's a software development acronym, there's a 99.999999999999999999999999999999999999% statistical probability of that it's rubbish! Get rid of it!
Top comments (6)
I've had lots of similar thoughts but you've stated it better than I ever could.
I think often times we forget that our job is to make tools. Sometimes we need to go back and build new tools that more efficiently helps us do things. This isn't a failure, it means we got smarter. Unfortunately I think sunk cost fallacies and the status quo bias bite us pretty hard here and I don't have good answers because populations of people don't make much sense to me.
Wanted to say you're doing good things and I appreciate it from a random guy on the internet.
Thank you. I started on an Oric 1, 40 years ago. Since then creating software has become absurdly more complex, and not because it needs to be. The question remains then; Why β¦?
Totally agree. It really is not difficult.
The way it is taught, the artificial layers of complication, and the barriers to entry have all become larger and larger issues over the years.
These are the problems
Word! Weβve made it more complex. And most of this complexity is not called for β¦ π
Ok maybe its easy to develop software but how a person can handle million requests per second without those fancy tech?
We've got that capacity to some extent, but yes, there are exceptions when you need message brokers, and such - The problem is most people tends to "go for the exceptions" not when needed, but as a general rule of thumb ...