A.J.'s Rules of Programming:

1) Make it work, then make it fast.
2) A working solution is a solution, even if you did it the "wrong" way.
3) Do it the wrong way until you learn the right way.
4) Once you learn the right way, be willing to go back and throw out your old "wrong" code - no matter how much time you spent on it.
5) Write your code assuming that when you come back to it, you won't remember anything.

Your mileage may vary, but these guidelines have served me well.
Shared publicly