The Fermi Paradox of Software Development and How we MUST handle that

Daksh Gupta
3 min readDec 31, 2021
The Fermi Paradox of Software Development

The Fermi paradox is the conflict between the lack of clear, obvious evidence for the alien life and it raises a question as why we’re still not able to find anyone out there

Despite the lack of evidence, no one can say that there aren’t any life form anywhere in the universe apart from planet earth

No this Article is NOT about Aliens

There is a similar paradox that is present in all of the software’s of the day

There is no way one can say that there are no BUGS in the software, despite the fact that the software is tested exhaustively

Just like the Fermi paradox, even though we’re not able to find the bugs in the software, it's highly likely that the hundreds and thousands of lines of code are having bugs hidden within them.

Some of the bugs will not be discovered during the lifetime of the software, some when discovered will has less impact and some of them will have more impact.

So, it will be in the interest of overall Software Development to acknowledge the fact that with current technology we can’t create a totally bug free software.

This acknowledgement will help people to change the mindset of the people involved in software development

The Impact of Mindset Change

Once we acknowledge that an unknown software bug exists and can fail our software at any point of time, we’ll be forced to take remedial actions, some of which will be extremely easy with the help of modern software programming languages and tools

And the Remedial Actions will Be ?

To equip the software to handle the failures (intended & unintended) in a graceful way

At the bare minimum, if we’re able to handle the failures, it will go a long way in terms of the quality of the Software.

It may sound simple, but it is not. We need to change the mindset and make sure that we have sufficient checkpoints in our software which can help remove or diminish the impact of any possible failure.

The biggest mindset change is required to be done by software developer as they need to polish their skills in error handling and it’s difficult because we don’t get to see or produce many of the errors which can come at the runtime.

However, as far as I’m concerned, this is going to be the most desired skill for the future software developers

Trends of Learning a Programming Language

It’s a normal trend that when people start learning about software development and programming, the preferential sequence is

  1. Learn How to Create using a Programming Laguage
  2. Learn How to Test using a Programming Language
  3. Learn How to Handle Errors using a Programming Language

In general people spend approximately 70 — 80% or even more in the first item, while learning about handling errors is skipped totally sometimes.

We need to reverse the trend where each one of these will get an equal weightage

And only then we can write software which will take care of unexpected failures.

Thanks for Reading…!!!

Daksh

Here is my YouTube Video on the Same Topic

--

--

Daksh Gupta

🔹Software Product Development Consultant, Trainer, & Coach🔹 Tech Speaker & Content Creator 🔹 youtube.com/@Cognitive-Programmer 🔹 linkedin.com/in/iDaksh