Finding your own joy
You might have noticed that I was tremendously inactive in my writing again. And I regret it partly, but another part of me also knows that this regret is not helping me at all.
While I was and still am recovering well from my burnout, it is not comparable to a mere cold or similar bodily diseases: You do not suffer a while from it, drink tea, rest a lot and finally are perfectly recovered and feel like you never have been ill in the first place. In my eyes, such conditions of the mind and soul are life-changing. I suffer less from it than during the last years at my previous employer, but I do not believe that I will ever feel like it never happened.
My current job does a lot for me to help me with my recovery. I have a lot of freedom and the few regular meetings I still have feel meaningful. I am working with technology that I actually like and where I can still grow as a software developer. I have learned more and got more feedback at work in my first year at the new employee than in the last five years at my previous one. But still ...
I have a hard time feeling the same joy that I felt before my burnout when working with computers or smartphones. And this is very depressing to me, since tinkering with them has been a huge part of my life since I was a kid. It always was a passion.
When I read the headlines in social media or in the news, most of them suck the joy out of me. And I am only talking about IT related headlines here, not even war, climate change, corrupt politics, ... those are even worse and I suffer a lot, but they are not today's topic. Every day is filled with news of companies not caring about what their users want, horribly and mostly unneeded complexity and of course "Let's AI all the things!" buzz.
As an example for the first statement, let me point at Microsoft. I remember fondly (as strange at it is for a unix guy like me) when they concentrated on making their operating systems improve life of their users. Where is their focus today? Their UI has not been consistent since at least Windows 8 when they started to replace the Control Center with a new settings app. As a kid, I enjoyed trying out different color combinations for my Windows theme - you could configure everything you want! Today? Windows 10 allows me to select my favorite contrast color and whether I prefer a light or dark theme. I read news today that the latest update does not allow terminating the OneDrive app without giving a reason - how about "It is my system and I do whatever I want with it!"? And, of course, Windows today is an ad delivery platform and Microsoft works on offering it as a cloud-based subscription, which is nice as an option but I fear that they might replace everything else with it.
For complexity, we have "cloud everything" and "microservice everything" and depending on a million software packages of differing quality for everything. I mean, I get it: It makes things simpler in its own way. And it can scale oh so well! Or does it? To me, it feels like a Jenga tower: If you want to scale it, to build a really high tower, everything gets less stable.
I know, old man yelling at clouds (heh!) here, but how do we honestly believe that we can build anything of quality if we always make everything more complex in the name of not having to care for the things we abstract away? How can you ever really understand your own product if it is dozens of microservices running in cloud instances and communicating via network calls instead of normal function calls? No wonder many developers do not use debuggers when they build their software in a way that prevents reaping benefits from our debugging tools?
Does this not remind you of Kernighan's law? "Everyone knows that debugging is twice as hard as writing a program in the first place. So if you’re as clever as you can be when you write it, how will you ever debug it?"
And the idea that AI will replace software developers (or at least juniors - but then, how do we get new seniors?) has the same problem: Let's say you successfully got your AI to generate you a software product. Who will understand it? Also the AI? Will it be able to fix all bugs for you? Will it be able to extend your product without changing other parts you want to keep? Will it be able to optimize it if the performance is not good? Maybe it will someday, but it is very early to bet on it. And I know that there are many "software developers" who cannot do it either - but that just shows that these people have to learn more (I always laugh when I hear of "seniors" with four years of experience). Should it not be seen as a benefit that software development is a carrier that allows us to learn so much and keep growing?
I thank you for enduring my ramblings. This is just me dumping what hugely disturbs me every day. What disturbs me enough that I sometimes not even have the energy to check my email because the web UI has been changed (for the worse) again and keeps changing. It sucks the joy out of me.
My own joy
Which brings me to the point of this article: Over the last months, my state of mind suffered a lot because of the aforementioned state of affairs. And I understand that nothing will improve, that this is the trend I am doomed to witness or take part in.
But there is hope: I still write my code with pride, may it be as trivial and boring as it gets. And in the last months, I remembered.
I remembered the joy I felt when I was learning to code as a kid - in Visual Basic 6 and in QBasic. The joy I felt learning and understanding 6502 assembler code from an NES homebrew tutorial. It were simple times and I decided to get some of that back by playing with and writing code for a Commodore 64. I never came into contact with a real C64, but I am using the Vice emulator to remind me of aspects of programming and computer technology that I fell in love with as a kid. And the C64 gives me even more than that: It is a system were you can understand every byte, if you want.
Tinkering with the C64 is not a practical hobby and it surely does not help me at my job, but it really does make me happy.
I also remembered the joy I felt when I was learning Haskell. How long has it been? I started with GHC 6.12, which was released in 2009. To this day, I love Haskell a lot and I love thinking in Monoids, Applicative Functors, Monads and Arrows, which made me (I at least believe) a better software developer. When I am working with C++ templates at work, it often reminds me of pure functional programming.
I feel that I am finally finding some peace. I know that Haskell, like many of the other languages I learned over the years, will most likely never become my day job, but at least I can write tools to help me in it. It also helps me with prototyping and modeling data.
I now understand that I have to find my own joy while most of my surroundings has other motivations. But that is okay. While everything changes and everything transforms into something I would rather avoid, I accept that and know that my personal happy place will always remain safe from such changes as long as I have a system were I can install OpenBSD or Linux on.
As an excuse for my rant in the middle part, I want to share this hope with you: If you are suffering from burnout and feel that you cannot enjoy your job anymore, it might help you that you still can find joy somewhere else - search for it! This might sound trivial, but (re-)learning this was a difficult step towards healing my mind.