Even bugs are God’s creatures

Even bugs are God’s creatures

The title of this story is a joke we exchange between colleagues when any of us is on the verge of a nervous breakdown due to a software defect that cannot be solved.

The title of this story is a joke we exchange between colleagues when any of us is on the verge of a nervous breakdown due to a software defect that cannot be solved. Or when, at 5.30 pm on Friday, a customer sends us the list of anomalies found, right in the last useful moment to ruin our weekend. Or better still, when somebody sends us a WhatsApp message like “doesn’t work”, period.

We programmers don’t like (software) bugs, but the reality is that they fill at least half of our time and are an essential part of our work. Moreover, they are perhaps the most effective device for us to grow and become expert programmers. The trick is to deal with them the right way and get the most out of them. And the right way is, in my opinion, the Sherlock Holmes method.

“The ideal reasoner would, when he had once been shown a single fact in all its bearings, deduce from it not only all the chain of events which led up to it but also the results which would follow from it.”

― _**_Arthur Conan Doyle, The Adventures of Sherlock Holmes**

A scientific approach

Scientific approach — Photo by Shane Aldendorff on Unsplash

What does it mean? Each effect must have a cause: when dealing with a software bug, if you can see the symptom, you can find a way to discover and remove its cause.

To succeed, however, you must adopt a rational method, avoiding, out of haste or laziness, to fall into errors that humiliate your skills as a problem solver.

What you must not do

Do not try to correct the effect before knowing the cause.

Slow down and breathe. Count to 10. If you spit out the code without knowing what happened, you have a 100% chance of doing damage (especially if it’s Friday night).

Do not bypass or hide the defect, unless it is impossible to remove the cause.

Is the problem in an intricate piece of code and you don’t have the time or desire to unravel it? Of course, as an emergency, you can remove or deactivate the affected component or function, if you can. But don’t forget that it is not a solution and the cause is still there waiting to do new damage.

Do not convince yourself that the problem does not exist.

It is true. Sometimes, users report problems that do not exist, but, usually, they may be inaccurate in describing them, not crazy. It is unlikely that they tell something completely non-existent.

software-development web-development programming debugging javascript

Bootstrap 5 Complete Course with Examples

Bootstrap 5 Tutorial - Bootstrap 5 Crash Course for Beginners

Nest.JS Tutorial for Beginners

Hello Vue 3: A First Look at Vue 3 and the Composition API

Building a simple Applications with Vue 3

Deno Crash Course: Explore Deno and Create a full REST API with Deno

How to Build a Real-time Chat App with Deno and WebSockets

Convert HTML to Markdown Online

HTML entity encoder decoder Online

Offshore Software Development - Best Practices

To make the most out of the benefits of offshore software development, you should understand the crucial factors that affect offshore development.

Software Developer vs Web Developer | Difference Web Developer & Software Developer

Software Developer vs Web Developer | Difference Web Developer & Software Developer | Software development and web development are normally used interchangeably. Although both include development, a software developer has different responsibilities from that of a web developer.

5 Core Criteria for Selecting Software Development Company - TopDevelopers.co

Check out these five criteria for the selection of your software vendor, and you will never regret having the wrong quality product made for you.

Developer Career Path: To Become a Team Lead or Stay a Developer?

For a developer, becoming a team leader can be a trap or open up opportunities for creating software. Two years ago, when I was a developer, ... by Oleg Sklyarov, Fullstack Developer at Skyeng company

Software Developer vs Software Engineer — Differences: Bogus or Real?

In this article, see if there are any differences between software developers and software engineers. What you’re about to read mostly revolves around my personal thoughts, deductions, and offbeat imagination. If you have different sentiments, add them in the comment section, and let’s dispute! So, today’s topic…