People love their problems. Taking the problems away from a person can be very dramatic – not only because they identify themselves through their problems, but perhaps more importantly, because they have developed a set of tools and habits to deal with those problems. By removing the problems, the tools become meaningless and the person can lose their way.
For many years, I had a clear set of problems to deal with all the time – bills, keeping the wife happy – and a specific solution to them – working more. For the better part of a decade, being good at my work and doing a lot of it was supposed to be the fix-all solution to all my problems – “when we make it, we’ll get lots of money so we can pay bills/loans, make the wives happy and live happily ever after” – so everything was put on hold in favor of writing the best code the fastest I could because that was supposed to be the be-all, end-all – a ticket to the promised land.
Yet, ironically, the promised land appeared after getting off the train, discontinuing the attempts to solve everything by working more. A realization that coding more and better didn’t solve any problems; removing sources of stress, bad influences and relationships, changing the environment, picking up new hobbies, making new friends, introspection did. Alan Watts might have had a field day there – a goal accomplished by realizing the utter impossibility of solving it the way you were trying – the mosquito trying to bite the iron bull…
I started programming to solve technical problems and provide myself intellectual challenges. Only later I started viewing it as means to solve other problems – money, social status, confidence – and I did that because I had neglected other activities such as friends and hobbies so I always looked to it as the one solution for everything. Having put all the eggs into the single basket, it is no surprise that when programming became less about solving technical problems and more about solving people – dealing with the changing business requirements and marketing directions – disillusionment ensued since the only tool I had was no longer solving any personal problems, any financial problems nor providing intellectual food or feelings of accomplishment.
But instead of feeling bad about realizing that typing strange characters into a computer doesn’t bring deep self-realization and everlasting happiness, one should rejoice about having reached a new level of development and self-discovery. As long as you believe to know the solution to a problem – even unproven – you have no reason to explore further. “If only I had more money, a different job, lived in a different country, had a different girlfriend/boyfriend…“. By proving or realizing that not be the ultimate answer, the mind is finally free to explore other solutions – unforeseen avenues of self-development and paths forward.