One question looms central at the end of my degree: Why program?
Imagine two turtles: one lives in a temple surrounded by attentive priests who adorn it with gold and offer it sacrifices of incense. The other lives by a creek and spends its days wallowing in mud. Which is happier?
To survive, one has to make a living. But beyond survival, wealth and status provide short term satisfaction. By sacrificing too much in the pursuit of gold and incense, one falls victim to the hedonic paradox: the ratio of labor to satisfaction becomes so heavy as to consume your life.
So one should try to find a way to survive in the mud natural to her, work that contains as little misery as possible. To what extent is programming my mud?
During my time in this degree, my mud has been the moments lost in a problem. It isn’t that there is a lot of joy to ideating on how to make the code cleaner, how to implement a more efficient algorithm, how to clear an error warning; rather, my mind simply gets lost in the problem. Time passes unfelt, and my emotions are mostly a mix of effort and curiosity, pushing and prodding the project until something clicks, and then finally at the end I can come up for air with the satisfaction of a problem brough to completion. Like reading a good novel, or taking a good walk, or hearing good music, the joy of programming is the act of getting lost.
This is satisfaction that can fill the day, that has value in itself without any other reward—and so there is, thankfully after all, mud to be found in the glittering world of programming.