Start writing the test harness before you start writing
the code you want to test... it can often clarify just what it
is you need to do!
From time to time stop and think. It's not a luxury!
Don't be afraid to experiment with different ways to do
things, not only might you learn something new; but you
might also understand occasionally why your original code
was better
Take time to clean your code up regularly... in
particular make an effort to be consistent even if it means
going back and reviewing existing code. Be critical.
Sometimes you need to work at being lazy. Learn how to
use your toolset effectively. Add your own tools if you
need them.