Is it common for programmers to dislike debugging? I'm stunned. I never considered the possibility, it's always been something I enjoyed. I don't believe it impacts you either way in terms of capability but I imagine it impacts your desire to continue.
I enjoy debugging when I feel like I have some grasp on things. I hate it when I don't know where to look and don't have a good mental concept of the program in general.
For me it's refactoring. I'm in a lull at work so I decide to refactor some JavaScript, while at it I notice the CSS is all messy and has redundant code so I take care of that, then it's the HTML, etc. I enjoy it until the panic starts creeping in that I'm fiddling too much and could break something.
It's my favorite part of programming, by a very long stretch. For me it's often a chance to really dig into understanding exactly how all the gears click together, which is my true joy.
On a couple of teams I fell into the role of "team debugger", helping everyone with whatever was broken, and those have been my happiest times.
I enjoy debugging when I feel like I have some grasp on things. I hate it when I don't know where to look and don't have a good mental concept of the program in general.
I think it's common for people who are bad at it--who don't have the correct knowledge or skillset. I've been considered a wizard at jobs before because I knew how to read a JProfiler graph. And similarly, I hated, hated, hated debugging in Ruby until I learned about Pry and Byebug. Similarly, I love debugging in C#, because the tools are amazing. (I don't even hate debugging in C++ anymore, so long as it's on my Mac...)
Well it can be frustrating in some cases, because you have to clean up other peoples messes. Then you run into bad design decisions, laziness, obvious non-caring about the code quality or other negative behaviors that angers you.
And before you go into you don't understand their constraints and so on, this applies to people who you fully well know their design and time constraints, yet still do the wrong thing while you haven't under the same constraints.
It's the whole 'hell is other people's code', and 'let's rewrite this piece of shit' tropes that programmers go through.
If you are working on support/maintenance roles (in engineering) at big enterprise product company then debugging is major part of your job. I enjoy debugging as it is another way to solve problem. But for some people it gets repetitive (and boring) since you have to do that day in day out as a part of support roles.
Another part of what makes debugging painful for a lot of people working in big enterprise ("small cog in a big machine") stems from bad management.
Bad management -> bad design decision and poor resource allocation -> blame those lower on the org chart than you -> pressure to "just get this fixed and out the door" -> high levels of technical debt and programmer "burn-out"
The guys in the trenches debugging are going to end up having a better overall understanding of the system. Not to mention they're going to be really good at debugging; if they decide to get into a more development-oriented role, that skillset is going to be a huge productivity booster.
It depends. I enjoy it as long as it's moving the ball forward. But if the people producing the stream of bugs won't take obvious steps to squelch the flow (or at least not stop me from doing so), it can be a maddening and Sisyphean task.