I've been saying for awhile now that developers who work in life critical applications should be held to the same licensing and educational standard as civil engineers. There should be legal difference between a "coder" who can be unlicensed and not formally trained working on non critical software and a "software engineer" who is educated, licensed and bonded to work on stuff such as medical, automotive, aerospace and control systems. There should also be some kind of equivalent to the various engineering organizations that sets standards and norms.