Beyond the Code: On Keeping the Flame Alive
As I embarked on my college journey, the idea of writing real software seemed like a distant dream. The thought of creating something from scratch that millions would use daily was nothing short of magical to me.
Seven years have passed since then, and my excitement for software development has only strengthened. Each new project brings a sense of excitement and wonder, like a child in a candy store. The magic of creating something that can change the world still fills me with awe, even after all these years.
There's nothing quite like the feeling of creating something that people will use and benefit from over and over again. You work once, then use or sell it 1000 times. It's a tremendous blessing to have landed on such a lucrative passion. It's a fulfilling and lucrative career I could never have imagined for myself when I was younger.
The challenges of software development
But despite the joy it brings, the path of a software engineer is challenging. We don't have the instant gratification of seeing people using a bridge we built or the emotional connection of helping a patient recover as doctors do.
In tech, it's easy to lose sight of our impact and the fulfillment that comes with it. That's why it's crucial for us as software engineers to actively seek out that sense of satisfaction. Otherwise, burnout becomes a real risk.
I often feel that most (ambitious) folks in the tech industry aim to get rich as fast as possible through building startups or to work at a FAANG company and then retiring early from coding to do something entirely different. They would still code for fun, but not because they have to.
It's so cliché that it's become a running joke even here in Indonesia: the ultimate career goal in software is to become a catfish farmer. But I rarely hear surgeons retiring early to become woodworkers and move to a rural village. It's just not the same with building software.
Building software allows us to predict and solve problems for many people, and we can see the results through analytics and metrics. We have the potential to solve problems and improve lives on a much larger scale, but it's up to us to make that connection and find fulfillment in our work.
The tech industry is constantly evolving, and if we don't keep up, we risk becoming obsolete. And I like it because I like tinkering with something new. It's a constant reminder for me to always have a beginner mindset. And it's good for the health and mind if you do it right. Because it can be overwhelming to constantly feel like you need to be learning something new just to keep up.
I've learned that the key to pushing yourself to the next level and avoiding burnout has a lifestyle that enables you to do so. But it's not just about working hard. You have to take care of your mental and physical health as well.
I know from experience burnout walloped me in 2020. That was when my wife was pregnant, and the initial panic of the pandemic made things super tough. But I managed to reach the other side in a better place - mentally, spiritually, and even financially. But that's a story for another day.
What I want to focus on is preventing burnout. Burnout is caused when you repeatedly sacrifice and/or put effort into high-risk problems that fail. It's the result of a negative prediction error in the nucleus accumbens. You effectively condition your brain to associate work with failure.
When working on a feature and it turns out great, it doesn't matter how hard you worked. You're energized and ready to move on to the next project. But when you work like crazy on a feature and it gets cut or doesn't get the recognition it deserves, it can be draining. And if that happens over and over, you'll burn out.
The irony is that passion also causes burnout. Have you ever noticed that the people who punch a clock and go home never experience burnout? Even if they end up working overtime? It's always the people who identify with their work that gets burned.
But there's hope. Burnout takes a long time to heal, but the good news is that you can come back even happier than before. What works for me is pretty simple: you need to get a win. Work on something you know you can succeed at, and ensure you are recognized for it.
You should start with something less risky. Like refactoring some code you know and debugging some well-defined and minor effort bugs. Or, if you like competitive programming, you can do some leetcoding again and feel the wins every time you solve problems.
Have a shutdown routine at the end of the workday. Mark when you can say "shutdown complete," close your laptop and turn off your computer. Then take a long walk, be with your family, or read a book.
As a devoted Muslim, I find that praying is a big help. In Quran, there is a verse that says, "With every difficulty, there is ease." That words became my iPad wallpaper until now.
And, start exercising. Just get started. Find something you enjoy and do it at least 3 times a week. It doesn't matter what it is, as long as it makes you a bit sore. Consistency is key.
When you burn out, an ideal scenario is to quit working entirely to focus on your health, but I'm guessing this is not an option for everyone. So, at the very least, always be aware that taking care of your body is the top priority. And plan your day around that idea.
And, of course, if you still feel anxious after all that, then see a medical professional.
Lastly, believe that your situation will get better. A lot of people, people that have a great passion for their work, can get burnout. Even Feynman, one of the greatest scientists of all time, experienced burnout.
While companies and the government should be doing better about mental health issues, at the end of the day, it is our responsibility to look after ourselves. Push yourself to the limit, but don't forget to take care of yourself.