I am looking for resources to turn to when I don’t have the answer for something. I lead a team of software developers. We have been rolling out new software releases on a monthly basis.
When there is a bug that my team cannot fix, it lands on me. Most of the time I can resolve the issue, but there are times when I get stuck.
Unfortunately, I’m the top of the line at our company. There is nobody I can ask for help or assistance in figuring something out.
Do you happen to have any recommendations or guidance for situations like this?
5
First, you can get better at debugging. Debugging by David Agans is a good start for helping you improve. If you don’t know how to use a debugger, now is a good time to learn.
Second, you can make your code more debuggable. Adding unit tests would be the number one suggestion in this area. Adding logging is another excellent idea. Learn some design principles and refactor the code to make it cleaner. On the off chance you aren’t using source control, start now.
Finally, ask for help online. That’s what this site and StackOverflow are all about. Learning techniques like creating short, self-contained, correct examples can both help with debugging in the first place as well as help you get better answers.
1
Try pairing with the developer who worked on the issue before you. The two of you might be able to fix the bug. If you can narrow the problem down to a function or a few lines of code, a website like StackOverflow could help. Also advisable would be to write a test for the bug so you know when you’ve fixed it (or if it returns).
0
My personal last resort is to start commenting things out in what appears to be the affected area until the bug stops happening to narrow down.
Define “Can’t”…..
In addition to the excellent answer by @Karl, A change the attitude might be useful. Nothing, absolutely nothing, is “unfixable”. I have spend weeks hunting down issues in the past. I have given up on some for sure, but I have never said “this is unfixable, I can’t do it”, always put a reason behind the “I cannot” – “”. Make sure your “I cannot” is not “I don’t want to” or “I can’t be bothered”, “I’m bored”……. I that is case, it is what it is, be honest about it (at least to yourself). Not everyone is cut out to be a maintenance programmer – in my current job I can go weeks and write a few lines of useful code, so if you measure success buy SLOC, you will struggle.
Occasionally I say “I am not a good enough programmer to fix this”. That is a major step – being prepared to admit that you are not good enough means being prepared to ask for help. Park you ego and ask, you are a better programmer if you can.
1