Chris Parker writing in You Are Not Ruthless Enough on being ruthless instead of lax when crafting software:
Being ruthless to yourself is having the discipline to become a better developer - not letting yourself get away with the easy or convenient. Being ruthless to your objects is having the discipline to write the API which separates their responsibilities effectively. The combination is what enables you to produce consistent results - to keep shipping, to keep creating great software, and to keep improving.
I assumed I was disciplined, I guess I am a ruthless programmer too.