No good deed goes unpunished
Many, many years ago, I had a job where I was nominally expected to supervise a more junior member of staff. How to log in, which system did what, how to edit a file, basic shit like that. Anyhow, this being the days of mainframe and COBOL, the idea was that they would learn on the job, eventually becoming familiar with the basics and moving on to understand the basics of the various systems (many running in batch) that held things together.
Part of the job would eventually to be expected to be part of the rota that dealt with outages encountered out of hours. For this, your basic equipment was a series of cabinets, running the length of a corridor, containing the latest compile listings of the various programs in the suite printed out on music rule paper, each snug in it's own individual binder.
Batch Mainframe COBOL being what it is usually used for (financial stuff), the most common severe problem encountered would be a program abending with a S0C7 abend code (*usually* decimal data exception), due to badly sanitised input data masquerading as a valid decimal value, the failing instruction commonly being reported as ZAP (zero, add packed), the usual way to initialise a decimal value with something coming in from whatever source the program used.
Of course, this level of WTF is not something that a trainee expects since all of a sudden one is thrown in at the deep end of the somewhat huge disconnect 'twixt a high level language and the underlying machine architecture of the brute and bears little resemblance to whatever they might have learned beforehand.
Anyhows, one of the other trainees found themselves completely baffled as to how to diagnose such things and mentioned this to me. Since when I was in the same boat some kind person had explained this stuff some years before, I sat them down with a compile listing, explained how the compiler translates COBOL to machine language, what the instructions mean, and how to relate this back to which COBOL instruction and which input field was the culprit (and how to find that).
They got the idea and were happy and cheered up, now being more confident that they understood something useful.
Shortly afterwards, I got a visit from our "training manager". "Why did you explain that to someone else's trainee?".
Well why not, I ask people how things work all the time, and they explain them, and you don't tell them off (they were all well above her pay grade).
"No, that's not your job".
Said company is long gone (wonder why) and by a strange co-incidence, I've just fixed a S0C7 abend at a customer site (a bank, no less). It wasn't a decimal data exception, BTW (bonus points for anyone replying who can identify what it was) and everyone was happy, but to this day, I cannot understand the mentality of criticising looking after people or acting for the greater good. I've found, over the years, that getting away from that shit rapidly is a smart career move.