Responding to some of the comments here...

Writing clean code doesn't have to mean that you spend a lot of time writing and re-writing code to make it clean. The idea that deadlines and budgets mean you have to forego clean code is wrong. If you take the time to learn "how" to write clean code and you practice doing it, when crunch time comes you'll be able to write clean code as fast as you might write sloppy code. The catch is that most programmers don't practice the "art of coding" with the goal of creating something clean and elegent and instead only code when "on-the-clock" and under pressure to finish what they're working on.