This is actually true, All HMIs should have a IO status page, and everything that could possibly go wrong because of external circumstances (Physical Machine conditions) should have an alarm with a description of the problem.
If it doesn't your program is not complete.
So really Controls Techs should never be in the code. If there is something that is not covered by alarms and IO status then it will be above their head anyways.
Control job tech in factories is partially to get into code to troubleshoot faster. It requires extremely good knowledge of a machine to troubleshoot it on sight and technicians can't have perfect knowledge of all their machines.
A good HMI will give great help to troubleshoot but let's be honest, it's nearly impossible to report all the possible cases unless you are only working on very basic machines or on standardized process with 200 pumps and 400 valves.
I have seen a few small factories without people able to "get into code" by lack of personnal or software/cable and it wasn't pretty. They have to call up external companies to help them restart their production, generally with a big delay.
I wouldn't advise any company operating a production plant to not have technicians able to troubleshoot by reading the code. Last time I went to a company that had a machine down for 4-5 days days since 1st January, they were quite desperate. Their maintenance technician and maintenance chief had spent days trying to find a safety faults, replacing I/O cards, shutting down and restarting the cabinet, checking the sensors, ES and the cables....
I went, connected my computer and found out that their S7-1200 CPU acting only as a safety controller, and out of reach in the cabinet, was in STOP mode... It was set up in the configuration to restart in the previous mode , and there was no way to turn them in RUN outside of TIA portal with these CPU. The machine started 5 minutes later. They told me that they wanted hire someone and wanted to get the soft.
My point is that you can't expect process designerd to think and test their machines and production lines with all the conditions that will happen during all the years.
At some point, people in factories will find some weakness and will want to correct them, or even add some minor functionality like a sensor, and they should be able to do it themselves and rather easily, integrate them into the logic in a smooth way.