In the video Mattias, a functional programing advocate and front-end engineer at Spotify, describes how he noticed himself losing the joy he once had for programming after it became his primary source of income. In order to rekindle the curious spark that attracted him into programming in the first place, he started devoting time to 'play' programming.
Mattias describes how attempting to introduce concepts that he learned during 'playtime' into his work projects ultimately lead him to sink an unnecessary amount of time into work and delivering features that his customers didn't want or need. Both he and his customers were worse off for it. In the end, separating 'work programming', which he did to put food on the table from 'play programming' which he did for his own joy and fulfillment gave Mattias the work life balance he needed.
One way that he now ensures that 'play' and 'work' don't mix is by consciously choosing 'play' projects that have no obvious utility. Mattias described that doing so insures that his 'play' projects don't devolve into work projects.
I identify deeply with Mattias's story. I have found myself losing the joy and passion I once felt for programming when I first started. There are a number of topics in programming that I am fervently interested in that I have been ignoring for months because I knew that it would be impossible to use them at work. Instead, I have spent my free time learning about topics that I could easily apply at work. I have prioritized immediate utility to others, and as a result, my passion and drive has suffered. That is a shame. However I have found a way to remedy the situation.
Mattias's story has inspired me to start prioritizing 'play' programming. This blog is the first game and it will document my playtime. I have also decided to make this blog with Hakyll in order to start gaining confidence with Haskell, which is one of the programming topics I have been ignoring in favor of more 'useful' ones.
I will try to pick topics and projects that have no immediate utility, and instead do them just for fun and education. Doing so will help keep 'play programming' a rejuvenating activity, done out of joy and passion, rather than another form of work.