Suppose that you are running a software company. What are the elements that your new developers' training program, that you will not let a developer touch your code without completing it, would contain?
The answer can consist of books, articles, presentations, blog posts, videos or other resources. Better available and linkable online. One resource per answer please.