In the informIT series, experts share what has helped them become better programmers:
Erik Buck: Write less code
Obie Fernandez: Take a moment to understand the error message at the top of an exception/stack trace before making additional changes to your code
Danny Kalev: If you want to be a good programmer, you must dedicate much of your time reading C++ magazines, new books of leading authors, subscribing to professional discussion groups and forums, and communicating with your colleagues. Learning is a constant process that never ends.
Eric Lippert: pick a relatively narrow area […], and then find questions on the internet […] that other people had on that topic. If I could answer the question, I’d answer it. If I couldn’t, then I’d research the question until I could definitively answer it
Russ Olsen: stay the Hell out of other people’s code
Rob Pike: thinking before debugging is extremely important.
Mark Summerfield: refactoring, Test Driven Design/Test Driven Development
Bill Wagner: Make code usable before you make it reusable
These are only the key ideas from the articles, please read the complete articles, they are worth it.