Why is Debugging an ART?
Software or Product is not all about design, development, and testing. There is an unknown arena or less known or less admirable part for many of the engineers out there once the product is rolled out to the customer called “Support”.
What makes the product best for the customer, Is the features? Is the Brand? The fancy name and features make the product to sell but sticking to the same product for a decade or more depends on the stability of the product. Not all the complex use cases / Edge cases are tested during the development and testing cycle. More the customer uses the products more the issues noticed. Even the world’s best product company out there release the multiple version of the product for the stability. Single release that gives the stability not an imaginable one.
Customer use case and issues make the product stable and R&D, Developers, and Testing team helps to achieve it then where comes the “Support” team then. They are the bridge between the customer and the product team. Before all edge cases and issues sorted out, it’s them helping the customer to keep running in their feet and makes the good impression about the product.
Identifying the bug during the development cycle and fixing the issue before the product release or major is like repairing the vehicle when it is in the garage. Issues are reproducible at will and backtracking the root cause with the code in hand having breakpoints, Inspectors will have faster turnout in fixing the issue.
Identifying the root cause when the product is up and running with the clock ticking for the deadline on top of it when the issue is not reproducible at your end sounds to be the thrill and scary. Life of support is not driving in plains, it’s like driving in the terrain you can expect the unexpected and adventure will be your day to day activity with the time bomb ticking.
Debugging an issue sound so simple but having all complex factors on your back. The person needs rational thinking to attack the problem, think outside the box and taking the decision out of that. It’s like Jigsaw puzzle game where you will have pieces of information from different logs from the product, operating system, the network for an issue. It needs unique skill to put it back to make a perfect picture for a wider audience to understand, convince and fix the probable cause of the code that causes the issue noticed by them.
Analogy “Art” may be exaggerating and yes, it is the “Art” that need the different perspective of looking the problem and come up with the cause which may not be visible and caught by the normal eyes. Yes, I believe it’s a “Art” and my Heart vote for it.