Good Software Developer Is Like Earth's Intelligent Designer

I love my mornings, because that's when I enjoy my perfect breakfast. A cup of really good coffee, smell of fresh bread and my favorite vegan spread.

Choking on my breakfast, however, does not amuse me.

"What asshole designed my respiratory and digestive system in such a lousy way? Who thought it was a good idea to connect trachea with esophagus? You call this intelligent design? Intelligent design my ass!"

And then it dawned on me.

Who am I to question a design that has been working pretty great for Earth's creatures for millions and millions of years? Who am I to say this feature is in any way flawed? What exactly is a flawed feature?

Well, let's see what users say! According to some statistics I found on the Internets, nearly 3000 people die by choking on food every year - most of them children. That's 3000 funerals. That's thousands of surviving family members, cursing the day the Intelligent Designer prematurely resolved the "Design that eating-breathing system thingy in humans" ticket.

But on the other hand, that eating-breathing system thingy I was complaining about? It works 99,9999995% of the time without critical bugs. Kudos to you, our Intelligent Designer - are you for hire?

Yes, some people die because the Intelligent Designer, being a sloppy bastard we know He is, didn't write His unit tests well. Or His QA guy had a stomach flu that week and failed to test properly. Maybe they both got false feedback from users and just closed the damn ticket.

Thank god our Intelligent Designer is a cold, emotionless jerk

Intelligent Designer does not care that people are choking to death. He is not capable of caring. We may not like it, but us humans - we need Him not to care about us. Because if the Intelligent Designer personally cared for every single sentient creature on this planet, us humans would never exist. His perfectionism would debilitate Him at every step. He would triple-check every line of code.

Imagine the most powerful Intelligent Designer in the universe, so emo about the fate of His creatures that He's not able to create anything more complex than a blue-green algae. His boss would fire His incompetent ass and in no time, in His place we would probably get some vindictive nazi who would read our minds and messed up our sex life and god knows what else.

Luckily for us humans, the Intelligent Designer that got the job on this planet, means serious business. He just wants to ship his products now. He counts on his proprietary iterative development process featuring a cutting-edge feedback mechanism (a.k.a. the evolution) to correct debilitating features and mistakes over time, in mid-flight. He knows that a simple feature that just works NOW is much better than a bloatware of perfection. Aren't you grateful that your Intelligent Designer allowed you to live your imperfect life now, instead of hoping that He makes a superman out of you in a few billion years?

You as a lowly species, ordering a feature from the Intelligent Designer

YOU: Dear Lord, I want us to gain an advantage over other species. Times are tough, we are starving. We would like Your Holiness to suggest and develop a feature that would greatly increase our chances of survival. If you could only help us catch more prey and let our bellies be full more often, we would be forever grateful, srsly.

HIM: Ok. I know just the feature for you. Oh man, it's gonna be so awesome! I saw it showcased at the last "Design a Creature" fair, all my buddies from the Intelligent Designers Circle of the Milky Way were raving about the technology... But I digress. Tell me: I can make it cheap, good and fast. Pick any two.

YOU: Hmmm, we want it to be good and don't have much money... I guess we could wait a bit... What can you get us for the price of 10 thou?

HIM (mumbling to himself): OMG what a cheapskate!

HIM: 10,000 is not much, my evolution-challenged friend... But I feel flexible today. I want to play with this new technology, so I am willing to work for you. But you get just the basics! I already have version 2.0 planned, but you will have to wait for it though...

YOU (excitedly, impatiently): Yes, yes, basics will be good! We'll wait!

HIM: Behold, the feature that will gain you an unfair advantage over other species and let you catch more prey and be fed all the time - (thunder sound in the background) we call it The Eye (TM)! For 10 thou now, you just got a couple of beautiful light-sensitive cells below your forehead, that no-one else has at this moment. From now on, only you will be able to see your prey as it moves in front of you and you will be able to catch more food. For just 10 thou more, I can offer you a slightly better resolution in the version 1.0, do you want it?

YOU: No thank you, I can already see how just this pair of light-sensitive cells is already making my life better! I can see you, my Lord, oh you are so... I had no idea that you wore glasses?

HIM: My glasses are not a bug, it's a feature!!! But nevermind, we'll talk about version 2.0 of The Eye when you get some more munney. Cya in a few hundred million years!


...And the rest of the story of the evolution of the eye is familiar to us all.

Moral of the story: Perfectionism is very bad for your health

Not just for your software product, but also for your company, for your clients and - most importantly - for your peace of mind, as a developer. Just make the damn code good enough and ship it. Shipping is a feature and it's totally underrated.

Remember Project Xanadu? Its aim was (and still is after 50 years, with very little success) to create the "perfect Internet". We would still be using pen and paper if a guy called Tim Berners-Lee didn't say "To hell with Xanadu, my system works 80% of the time, let's do the simplest possible thing now and worry about the hard parts later". Ok, he probably didn't say it like this :-)

In some other episode: How do you decide what upgrades to put in version 2.0 of the feature?

B2B Website Content Writing Guide by Visnja Zeljeznjak,

If you like this article, you'll also like: