An old friend contacted me the other day and told he was about to implement a new business idea he had for a web app. He asked me whether he should implement the app using an older weaker programming language he knew well, or use a new cool interesting technology he did not knew well.
Because of the experience he had with the old language, he could easily implement the app using this. However, he suspected that he might get annoyed in the long term by using this old cumbersome language. My guess is, that this is partly because he knew he could be more productive if he mastered and used the new language and partly because his natural thirst for acquiring new skills would not be satisfied as much.
The problem with the new language was that he had no experience with it. It would take much longer time to build the app because as it would force him to allocate extra time learning the new technology on the side. So, the dilemma he faced was this: should he built the app fast using the old technology with the price of being annoyed with his work, or should he build it using the new and cool language with a development time punishment?
While I can understand why he considered both options, the best choice was pretty obvious to me. Today, having a good idea is seldom enough. You also need to deliver a product of high quality. This is true in the web business, and presumable also in most other businesses. Some of the most important ingredients required to build a quality product is devotion and passion from the craftsmen. If you do not love the process of crafting your product, the quality will be dramatically lower.
Following this reasoning, choosing the slower but more enjoyable path is more likely to result in success due to the great importance of the product quality. By choosing the new cool interesting language over the old dusty one, his passion and devotion for the production process itself will increase greatly, thus producing a far better and more competitive product. What is the point of creating an app three months faster (with the old language), if the quality is so weak, nobody will use it?
Of course, in some situations the advantage of faster development is of such critical value, that it might be wisest to use the old well known technology. But due to the very competitive nature of modern business, this is very rarely the case.
If you are in the position of somehow being able to determine the tools and/or environment on your job as my old friend was (and you probably are, if you really think about it), I encourage you to push your life towards whatever solution you will enjoy the most, even though the change might immediately sound contra intuitive. By increasing your love for your job you will see better results in the long term whether it is happier customers, larger paycheck, or something else. In addition, you also receive the invaluable bonus of having an generally happier daily life.
So, what will you do to increase the love for your job?