I like to define myself as a pragmatic programmer. I always try to deliver more quality than expected.
No dogma. Every situation is different, and the goal is to find the right complexity and abstraction for the task or project. Also, one must use the right tool to get the job done.
I like to think that the code I produce has fewer bugs than other developpers would produce. This is because of my rigour and my desire to make things the right way. I never sacrifice quality over speed.
There are many ways to handle a project. I think what distinguishes two developers is the ability to deliver a finished product with the highest quality. Even for small projects, automated unit, functional tests, and documentation aren't optionnal.
This is something fundamental. Of course, in a project, it allows anticipating problems. But also in human communications, to avoid misunderstanding the most possible and be sure to be on the same page with the customers or your workmates.