I started sorting developers into two buckets. This helps me understand how to work with them. As far as I can tell, there are two types of developers:

  1. The one who loves to code.
  2. The one who loves to code to make a product better.

The first (the programmer) simply likes to code – and that’s pretty much it. He enjoys creating fancy algorithms and loves refactoring code to make it cleaner and more efficient. He’s the blacksmith who doesn’t really care if the sword matches the customer, but he does greatly care for the process, the tools, the time it took to get it done.

For the second (the creator, I’m part of that group), programming is a tool to achieve a certain outcome. She’s that blacksmith who understands that you need a great hammer and intense heat to forge a beautiful sword, but she might or might not enjoy the process itself. She’s here to see that magic moment of creation, when a vision of a product comes to life.

So how do you know which one you are? Ask yourself this question: “Would you stop programming if you could achieve the same result without it (i.e. delegation)?