First, this advice didn’t come from me; I just like it so much that I want everyone to know about it.
I recently began reading the Object Mentor Blog and I came across this post, and it has really stuck a chord with me. So often I find myself trying to hurry up and get it done, and that usually produces less than good code, which means I have to go back and fix it later or someone else will have to clean up my mess, which is no fun and embarrassing to say the least. If, however, I take the time to carefully plan out what it is I am creating, use Test Driven Development, and slow down, etc, then the code I have just made will be less likely to break.
We delude ourselves that speed is better. Not always.
Here are a few things “Uncle Bob” mentions in his blog post to be a professional craftsman:
1) Adopt an attitude of calm
2) Focus on the problem to be solved.
3) Solve the problem step by step without rushing
4) “When you feel the temptation to rush, resist it. Leave the keyboard and walk around. Distract yourself with something else. Do not give in to the call of your addiction.”
I am going to start remembering and implementing these suggestions; I think I’ll be a better software engineer for it. Thanks Uncle Bob.
As an update to the above about speed killing, I just read a post by Martin Fowler about Technical Debt. Sometimes it may be good to deliver fast, poorly designed code that will cause you problems later in order to make an investment in the project, hit deadlines, etc knowing you will have to go back and refactor.