In my experience, far too much responsibility is placed on the person generating the code nowadays. It's just got worse and worse as infrastructure has become more "software defined". Writing the code and interfacing with all the systems we have to today are two different skills, and I think not often going together.