I work in embedded systems and until recently I would have agreed with you... But it's getting to the point where our agents have access to debuggers/tracers, system I/O logging and basically every tool we would ordinarily use and it's vastly improving the quality of their work.
I always attributed their better performance in web and general software development to more availability of open source examples that they are trained on, but I think the ability to 'self check' was a huge limiting factor. Unit and other pure software testing abstracted away too much of the real system. With real feedback and access to the data sheets it's doing a pretty good job.