This morning Willem Luijt, one of my lead developers, sent an email to the entire development Team with a link to an article about the seven sins of development. It was a good article, one I hope that my entire team read, and it made several points that I think are worth further exploration:
1) Software doesn't have to be "perfect", it has to be "useful". Focus your mind on the project's business objectives. Avoid letting your time be consumed by optimizing aspects of a project with minimal business value.
2) The smaller your program is, the fewer lines of code you write, the less memory and CPU cycles it consumes, the better.
3) It is generally more important in the long-term that your software be architecturally sound, than for short-term deadlines to be met. Try to get clients to understand and buy into this idea.
4) You can be "lazy", just not "apathetic" if you understand "lazy programmer" as one who's trying to do things in the simplest way possible with the fewest number of steps. A thought process like this drives efficiency.
5) You should have techniques for software development that you've developed over the years which you strongly believe increase your efficiency.
6) Before you build a feature, ask yourself whether you need it. Simplicity is the best feature.
7) Be humble. Remember you still have more to learn. Keep improving and keep an eye out for what's new.
I encourage all software developers out there to take a look at this article and then take a look at the way you practice your art. It's made me take a look at my team to see where we can make improvements to our own processes.