And that right there is the crux of the problem. I know my Grandpa retired when computer training/usage went from optional to mandatory. Some people just don't wanna.
If the employer A) doesn't care or B) won't pay enough for better employees and C) is willing to pay enough extra for the programmer to spend the time dumbing the system down as much as possible, then I guess it falls under "the customer is always right".
I got my start in Maintenance. I went in knowing next to nothing about PLCs (just that I really wanted to work with them and had been trying on and off for several years to do so), and came out knowing, well, a lot more than I did. Enough to get a job with a Systems Integrator at least.
Whenever I encountered something unfamiliar in a PLC program, I didn't throw up my hands, walk away, and call the OEM. I LEARNED. Whenever I saw an instruction I wasn't familiar with, I didn't cry about it to the engineering manager and demand that instruction be banned in our programming standard. I fired up the help file and learned what it does.
I'm in the "do what's best" camp. If it's better to do something in ST, I do it in ST. If it's better in Function Block, I do it in FB. If it's best in Ladder, I do it in Ladder. If someone pulls up my program and doesn't understand Structured Text, that's on them.
And yeah, maybe they'll call me, and if I'm available, I'll help them out. But I am becoming very strict about my time and I generally only go out on service calls when it HAS to be me looking at it or if I don't have anything super pressing to do. One of the things that annoys me the most is if you're in the office working on a project, sometimes people tend to see that work as optional or just time-filler until you get a service call. And like I said, if I'm ahead of schedule on the project, I'll duck out for a service call here and there, but if I'm down to the wire on a deadline and I need every minute I have, I'm going to say no. If I'm available I'm available, if I'm not I'm not. And those times when I'm not teach them in a hurry that they eventually have to take ownership of the equipment.