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 ...
Technologically disenchanted
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.