I've always felt guilty about doing this. As though hacking apart what others have made is somehow worse than constantly generating new code. I think I've heard it called "code reuse" in Dilbert and on the Tribes 2 project, where code reuse was blamed for many of the weird bugs.
>Always add an extra flourish. ALWAYS. No matter what. This was my first client. Of the next five jobs I did, three of them offered me a full time job with double or triple the salary I was making at HBO. It’s because I always delivered the extra something. This is more than “underpromise and overdeliver.” This is using creativity to make the client’s life better. And to always have the element of surprise. They know that when you walk in the door magic will happen. Doves will fly. I was the magician.
I like this. It's sometimes hard to grasp, but not all changes to a project will have the same cost-to-value ratio -- here the automatically-generated certificate images were a small amount of work for the author, but a huge value-add for his client. It's a case of knowing where to "tap the hammer".
>Always talk to someone smarter than you are and get their advice on how to do a job.
Maybe not someone smarter than you, but someone with more experience, or more education, or just other experience or education. Sometimes we know what we have to do, and talking to others helps us realize it, or helps cement it in our heads. Group discussion of problems is a way of social distributed computing, don't ignore its value.