Share via


Do you want to do a good job or do you want to go home?

A former colleague once said that there are only two types of people; those who want to do a good job and those who want to go home. And it has nothing to do with working over time. The statement is obviously provocative but you should not interpret it literally I think. What it means is that some people go to work, do what they're asked and then go home without necessarily having a passion for what they do. Others are very passionate about what they do and go to work because they love what they do there.

This to me is just another way of describing software craftsmanship which is being more and more popular lately. And think there are two important aspects of craftsmanship to consider. One is the integrity of being a craftsman. If you want to do a good job you should refuse to do something that you think is a poor solution. Compare yourself with a great chef. A great chef would never serve you something that is not prepared and presented in an excellent way. If you on the other hand just want to go home, just do whatever you need to get home early.

The other aspect is being proud of what you do. It doesn't mean you have to be proud of code you wrote a year ago or even a few months ago. I've written code I wasn't proud of even a few weeks later. The important part is that you're proud of what you do at least when you write the code. I'd even say that it's a good thing that you're not proud of old things you've done because it means you've improved yourself and that is important. If you however just want to go home, then you're probably not always feel proud about stuff you just did and you're probably proud over things you did ages ago. Because if you just strive to go home then you're probably not improving yourself very fast.

Comments

  • Anonymous
    July 18, 2009
    The comment has been removed
  • Anonymous
    July 18, 2009
    Vijay, I thought I made it very clear that doing a good job vs going home was not about overtime or working late (second sentance of first paragraph). I even wrote in the first paragraph that the statement (which is a quote) should not be interpreted to the letter. It's about having a passion for what you do vs going to work because you have to. So on that part I don't understand why you got all upset because from your comment I can only see that you agree with me. Regarding "agileness" vs a reliable structure I think what you mean is that striving for improvement is not a good thing in all situations because you need a certain structure, process or just something people will recognize over time. Here we might be in disagreement because I think that as soon as somebody or something stops looking for improvements, then they are doomed. This does not mean that I do not recognize situations where rapid change might be a bad idea. It only means that there are situations where you can improve quickly and situations where you should be more cautios about what you do, when you do it and how often. But still the word I use is "improvement" and not "change". Improvements are by definition a good thing and in some situations improvements must come slowly. But that is (to me) far from saying you shouldnot improve.