Software is shipped with the most obvious bugs and faults in it. In order to avoid law suits, software companies try to use best practice. Nonetheless, problems still abound. There is probably no correct answer to the question of what should be taught to someone who is trying to learn to be a software engineer. However, some ideas are already available that can be tried to improve matters.