I code relatively slowly, but I hope, thoroughly. One of my colleagues codes incredibly quickly, and quite well, but I cannot help wonder if his work is not suffering therefore...

So, what makes one programmer better than the other? It may be that one coder sticks on bells and whistles (you know, cute code that does this, handles that and provides the user with a smooth interface). Another coder, on the other hand, just 'gets it done'. His user interface is acceptable (not brilliant, but certainly not bad) but all user requirements are fulfilled and the work output is very high.

Which of these foregoing is the better programmer? Or even, do you have your own ideas on this?