I'm pretty sure programmers don't want to hear "you need to be writing functional specs" [http://joelonsoftware.com/articles/fog0000000036.html], "you don't know enough about Unicode" [http://joelonsoftware.com/articles/Unicode.html], "if you don't 'get' pointers and recursion, you just ain't cut out to be a programmer" [http://joelonsoftware.com/articles/ThePerilsofJavaSchools.ht...], or "you should never scrap a working codebase and start all over" [http://joelonsoftware.com/articles/fog0000000069.html]