I've noticed that software engineers are burning out. I know some friends did. I did. I took an unexpected week off at the start of March. It's been a recurring pattern that frightens me because it's a looming presence that I can succumb to again. A day ago, I was excited to perform my tasks. The next day, I stare blankly at the computer, unable to write even the most straightforward code.
Meaning in work
Last year, I read When Breath Becomes Air. The author, Paul Kalanithi, tells his journey of battling his life as a performing neurosurgeon. Of living the daily battles that doctors face: the long hour shifts, the struggles it permeates with personal life, and ultimately, the burden and stress of being responsible to another human. What humbles me is the tenacity and grit doctors have, and how conscientious and non-neurotic you have to be to do their work consistently with high standards. It is something I cannot comprehend doing daily. But it is not only the strength and grit doctors have that allows them to cope with their immense responsibilities. Their work, is in essence, very meaningful. What they do directly involves a person's life. A hard burden to bear, but it comes with the gift of empowerment.
And that's the problem with software engineering jobs. Unlike being a doctor where it is, by default, meaningful: software engineering is not. You can tell by the mental circus people go through to explain why they do what they do. For a doctor, it's as straightforward and singular as saving lives. For the software engineer, he/she might reply: "It's because I like to create." or that "I love to learn a lot.", and so on. While there's truth to these, part of it is also because of our brain's strong capability to survive. Survival, in this sense, is about your need to care about your job. I get paid a lot of money to do something that I love, so it must be important, right? So there's a conscious (or subconscious) effort to protect this notion. Because to hell if you're not a passionate developer! And so, here we are, creating facades of passion and curiosity in our work.
You can genuinely love coding and building software but be dispassionate at work. The landscape has changed: from doing something internal to doing work for someone else. Also, with the lack of control most engineers have, creativity on the job has been reduced to the minimum. We become task-receiving, feature-spewing, deadline-following creatures designed to output code with maximum efficiency. But for a moment, if I step outside of my corner, and examine other landscapes, maybe burnouts aren't specific to the software industry. It might be because of the individuals composing the workforce. Millennials have been coined "The Burnout Generation.". Social media has raised our expectations of what living should be, add to that a more competitive landscape compared to the previous generation (and other reasons unknown to me). I think, ultimately, the root cause of burnout is a disillusionment with the individual's current state: a blindsiding, jarring reminder of your current reality versus your promised ideal.
Disillusionment allows re-evaluation
There comes a stage in our careers where we experience disillusionment with what we're doing. By nature, software engineers are optimists. And with the promise of building impactful products, or in changing the world, or in doing intellectually stimulating projects, we go through the motions of our daily work. Slowly, we uncover the software industry for what it is: a means to building profitable companies, and for us, a means to get our ends. But being disillusioned can be a sign of progress. Disillusionment permits us to ask ourselves questions. To tear down and ask the very motives that we tricked ourselves into believing and ask: what's truly authentic, essential, and meaningful.