If you’ve scanned the titles of my other blog posts, I think it’s obvious that I burned myself out of software engineering pretty bad. “How to break the Disengagement Death Spiral” does a pretty good job of giving it away.
There’s still a lot I don’t understand about burnout. My current best understanding is that after a couple years of stress, on top of years of stress I put on myself at school, my body put itself in depression shutdown mode. Now that I got myself to a new wonderful job, I can feel my body wanting to turn itself back on. My brain is missing programming, but it doesn’t know what’s missing.
The way it used to feel as a child
It used to feel fascinating to write programs. The feeling of getting the computer to do what you said. The way you could give it text input, and it would do something for you. Making a game, with crappy inputs and horrible bit graphics that was just amazing to see come alive. There was a joy in this sense of creation, something built by hand and the tinkering process along the way.
No one was forcing me to program back then - I taught myself C++, Java - just for the fun of it.
The way it felt before burnout
It wasn’t as magical as when I was a child - nothing would be. But once I was over the hump of learning the framework and tooling, it was so enjoyable to code. Until it got monotonous and I had perfected the implementation. Then my attention shifted to making it faster.
The way it feels today
It feels like work. I have to sign on, I have to convince myself to start. Getting stuck makes me anxious, because the framework is too confusing and I don’t know my way out of problems. Scala is complicated, and a lot of the foundational concepts still don’t make intuitive sense to me.
It just doesn’t feel like play anymore. That’s ok - work won’t always feel like play. But I know, that to be excellent at my role I need to find it intrinsically rewarding. That’s how I will improve, day over day, week over week, months to years - by loving the game.
Discovering the path
I believe, deeply in my heart, that my love for the craft is still here. I see it in bits and pieces. When I’m describing a well build tool to someone, or using it myself. There’s something I love about an elegant tool.
Luckily the task in front of me is mastery of Scala - which is definitely a language one would describe as “elegant”. There’s a lot of beauty if I can open my eyes to it.
So that’s my goals. Open my eyes to the beauty and craft of programming again. Find the love. Fan it.
So in no particular order, here’s the practices to help me cultivate my love for the craft again:
It may strike you as woo, but affirmations have been backed up by science and are quite helpful. The placebo effect is real. I’ll try a daily affirmation, centered around my joy in development.
Learning the basics
I’m going to start at square one for Scala, and build my way up. Likewise for the frameworks, it’s important that I do a lot of introduction work. Mastery over the basics is key for raising my ability.
Less work, more theory
A sharp axe is much more useful than a dull one. For all the learning I’m going to do, I’m going to do it in working hours and avoid saddling on more things to my already limited free time.
I need to be more aware of what I am doing, and how my body is feeling.
Write about Scala
If there’s one thing that sharpens my thinking, it’s writing. Writing is an incredible tool for thought. So I’m going to write about Scala, day by day, week by week. I’m going to write, and I’m going to publish.
This is a years long project. If I can pull it off, there’s a lot of benefits:
- Improvements in my work help scale out battery storage and bring us closer to energy independence, a major existential risk.
- I’ll be a better teammate, more capable and more able to help others.
- I’ll be able to earn more money, which will allow us to move to a single income family.
- I’ll be happy
So here’s to trying - I’ll report back with my progress as I go.