The most important attribute that young programmers lack is empathy. All of the weird-sounding miscellaneous advice you get really flows from it. Commenting the "why" rather than the how, documentation, adhering to coding conventions, these are all just manifestations of being kind to the maintenance programmer, which is empathy. Making the user interface attractive and usable, providing helpful support and performing rigorous testing are just manifestations of being kind to the user, which is empathy. Cultivating articulate expression, in code, speech and writing, is empathy for those who must start from scratch to understand you and what you've done. Egoless programming is empathy for your coworkers. So you can throw away almost all of the specific advice I have mentioned and instead focus on being empathetic, and you won't go astray.