As I often noted, when I was employee, I had good customer, good boss, good co-workers, and yet disatisfied.
In fact, the whole activity of programming has been boring from the very day I did it for money.
The book gave me the words for the reason of this problem : Autotelic and exotelic experience.
Autotelic experience is all activities that you do for its own sake.
But you can also do the very same activity for an external reason like example making money, which is an exotelic experience.
Flow, the state of complete concentration where you forget the self, seems to occur when it is composed of four parts:
- Immediate feedback,
- Autotelic experience,
- Clear vision where to go,
- Your skills match the task (ie, you are not bored and not anxious)
Unit testing, and iterative development, improve feedback.
Fast, and frequent shipping not only develop feedback but also add clarify your vision.
Coding is fun, I have an autotelic experience whenever I open Visual Studio, and I can speak with other coders about code during hours.
However, if I start doing it for money, it stops become exotelic.
If you want to know whether you have autotelic experience, just ask yourself : If I was millionaire, would I continue what I am doing ?
If you have autotelic experience, you keep procrastinating and that you know you have the skills to do the task, you lack clear vision. A clear vision is what a manager should give to his team, and when you are working by yourself, you need to use the manager part of your brain, so the worker part of your brain can achieve flow.