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"
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"