Programming is definitely fun and can be trained (at least to some extent) , but investigation is not trained as a formal course in Engineering.
The need of being Sherlock Holmes is of utmost importance especially while maintaining software , because you have to sense and search where the error is. Very similar to the job of a mechanic. When you say the car doesn't start, he first has to figure out whether it is a battery problem or a starter problem or a stupid mistake of petrol tank being empty or a fuel injection problem. This investigation skill , I feel is crucial for Software Maintenance. It has its own charm and degree of kicks. You should have this "leave this to me mate! I'll take care of this" attitude.
Yesterday I read this mail about how some of the guys at Paris investigated and located a bug. The fix was so trivial, but the investigation process of how they found the fix was so complicated! Man that was pure adrenaline!!
Sometime ago, this was demonstrated by one member of our team, for which he was granted a "Spot Award". There was one electronic chip board, to which we were unable to
telnet.The code was perfectly alright. Our team members were searching everywhere in the code to locate a fix.
The fix was literally out-of-the-box.One of the experienced members told to wash the board with alcohol as the board arrived as a shipment from France. One the board was washed with alcohol, the telnet command worked like a charm!
Especially if you are in the field of Software Maintenance, you have to highlight this skill and your ability of searching an issue in a huge system. After all, developing new software every six months means that no-one is buying your stuff. There is always a need for support.