I strongly agree with
jeffa.
The only thing I would add is that you even though a "program is never finished" and I am confident in my work,
I still occasionally get nervous regarding the response of the end user. Their response determines how much longer it will take me until I can move on or accept another project.
Nervous is good. It reminds you to go through your tests (for the millionth time) of your work:)