Dave Hoover has an interesting post on where to look for the source of errors, Assume it is Your Fault.
I was fortunate to learn this lesson on my first programming job (very very long ago).
We didn’t have a separate test group, so we tested each others code. I was testing a program written by one of the senior programmers and discovered erratic behavior in the screen displays. When I pointed the error out to my colleague, he responded, “I’d never do something like that. It must be a problem with the blah – blah.”
Of course, the problem was something he’d done. I don’t remember the details after all these years; and the incident made an indelible impression — it taught me never to assume that I couldn’t be the source of the error.
Later, when I working more with people and less with code, I learned a re-frame of “assume its your fault”:
No one is 100% responsible or 0% responsible in a problem situation. Look for your part in the situation, and see what you can change to make the situation better. It’s much easier (usually) to get yourself to change than to change someone else. If nothing else, you can change how you cope with the situation.