image credit: Trello
I have recently come across a post by Recurse Center's fellow alumnus about his burnout and having to quit jobs in the past two years because of his newborn. I think this is an interesting topic that is not being widely talked about enough. How to cope with one's burnout as a programmer.
Programming is for the most part an obsession to problem solving. One doesn't just jump into writing code because it's a "great career with a decent paycheck". Most of the time, and for most people writing code, it isn't. Programming is an art form not unlike painting. Being a programmer today is like being a Modernist artist in the time of Picasso--it is just circumstantial that today programmers are earning big bucks, but most programmers do not really have a putting-food-on-the-table-first mindset. We are just passionate about writing code, and we are just lucky we're currently in demand.
I also think a burnout is a natural call for us to grow and change. It is our primal instinct to adapt and survive. Whether we have become overweight from unhealthy lifestyle, over stressed by our job or family, or been binging way too much Netflix, we are self-destructing, and our instinct calls out in the form of boredom and burnout to stop us from going further down that destructive path. It's purely self-preservation (I also think Netflix is dangerous because it tricks us into ignoring boredom).
This is why listening and responding to your burnout are really crucial not only as a programmer but also as a person. Programming is driven mainly by passion, and with a burnout it's going to be hard for us to get excited in solving problems, building stuff, and learning continuously. And the more we ignore it, the further we are at risk of killing ourselves.
I, too, am experiencing a mild burnout. I have taken a vacation, but it was no more a cure than just postponement. I've come to realized a few things that have caused most burnouts and what had made them better.
Don't Linger
I have been maintaining a pretty flatlined project called RxGo. I began working on it as a serious exercise while learning Go language and also as a project that would become the topic of the upcoming book deal I had. It has become my biggest open source project since, earning a lot of interests from users.
However, when my baby was born, my life has changed. I no longer had the time, energy, and focus to push any more work to the project and work on the book. After a year of missed milestones, my editor and I decided it was best to terminate the contract and let someone else write it. The project has been pretty much inactive, and although there's a few serious contributors interested in stepping up to help maintain the development, I haven't had considered anyone.
I think unfinished businesses really drag us down. It's like running with a weight tied to our ankle. We get exhausted sooner that way.
Family
Anyone with a family (a partner and at least one child) can speak to this. Family is hard work, nothing less than a full-time job on its own. It's a mini organization you have to manage while also maintaining a day job. You are the CEO of this said organization which has all sorts of problems you cannot tune off even when you're at work.
Many are faced with the dilemma to either manage a good family or perform well at work. To make matters worse, it is hard for those without children to understand what we're going through. When that accumulates, it builds up into a feeling of not fitting in a culture and degrades to a burnout.
It's very important to prioritize our own needs and time to maintain sanity. Having a partial schedule you share with your partner is a great start. You'd be surprised that most of the time it's up to us to make family works.
Under-appreciated
When we have built something or solved a problem with our code, in our mind we have become our own rockstar. At our job, unfortunately, you are inevitably compared to your colleagues. It can be just you doing the comparison, or it can be from your supervisor and/or colleagues ("Oh, you don't know how to do this?", "I thought everyone knows how to expand directory path."). Once a victor, now you've become mediocre. On your company's Slack you would see your colleagues boasting their work while your supervisor and other colleagues praising them--something you haven't got in a while. You begin to burn out.
The best way to tackle this is to talk it out with someone, preferably your supervisor, not your colleague. If your supervisor doesn't "get" it, find another senior who knows your sentiment and isn't likely going to judge you.
Uninteresting problems
Since programming is a passion-based activity, sometime being exposed to uninteresting problems or something you're just not good at can cause burnout. Again, talk it out to your supervisor. Ask her if you could work on a different project or use a different language.
Take baby steps
Not being able to accomplish anything repeatedly can cause burnout. Maybe the projects you have been working on, whether at work or on the side, are too ambitious, large, or requiring of domain-specific knowledge you can't possibly pick up on your own. Try dividing a project or problem into smaller, more specific ones. Instead of thinking "I want to learn AI", try "I want to learn perceptrons" or "I want to write a program to detect cats in an image".
Clear, achievable goals are less inspiring than huge idealistic ones, but they can provide small wins--and thus adrenaline rushes--that can catapult you out of the burnout zone.
Try new things
Sometime, a longer detour leads you back stronger. Try something else you haven't done before in your life. Better, learn and master them like you had done with programming. Things like cooking, brewing beer, wood working, board games, hiking, are all viable.
Take care of yourself
This cannot be overstated. Being a geek isn't an excuse to gobble junk food, smoke, get drunk, or avoid workout. Remember, a burnout is possibly your inner warning to guide you out of dismay, and there's no way to get to that sooner than getting your health wasted. Discipline actually leads to a happier and more productive life, not self-indulgence.
Have anyone experienced a burnout? Is anyone? I'm curious as to what has caused it and how you have pulled yourself out (if ever).
If you like my writing, subscribe to my free newsletter BETA School - unlearning schools and relearning life to get my writings right in your inbox.
Top comments (35)
Completing task does not provide adrenaline rush, but release dopamine hormone. Which can become addictive too.
While defining WHY and progression in that direction help with Serotonin release which is safer form of happiness.
Thanks for the comment. Wow, I learn new things from smart people everyday.
"Not being able to accomplish anything repeatedly can cause burnout."
This happened to me recently. I was solo on a project in my team. I kept on spinning wheels on fixing code to make the outcome of the code be correct. Took way too long and it just burnt me out. Later my dev lead joined me on the project and helped me out.
I try to focus on other things when I get home now. I used to code at home to learn new things. I have no interest to do that anymore. I am focusing on my other hobbies (cars, racing, etc.). It has gotten a little better, but it's going to be a long process.
I also thought this was interesting, burnout due to working and feeling very little accomplishment. Looking back I think that was a big factor for me recently. I also try to limit my 'work' time at home to reading only and no coding if possible.
Thanks for sharing!
I also code less now after work. Seems like it's not making me a better programmer linearly. I try to read code more and focus on understanding bigger pictures.
Uh, no. I program because it pays the bills and it's the best career I could get into later in life. Pretty sure I wouldn't spend my day at a desk solving someone else's problems for fun.I also know 0 programmers who do not make at least a reasonable salary with what they do. So much for making sweeping generalizations about why people end up doing what they do.
I definitely can't talk about how it works where you live, but I can definitely mention my country (Brazil) as a good example of how you can find programmers making little money. It's actually a regular joke on how little money we make as devs, considering lots of other careers that require a lot less effort.
As with anything, you can't generalize in any way, not for saying programmers make lots of money, neither for saying programmers starve.
Also, I'm one of the people that actually spend my time solving people's problems for fun, I like solving problems of any kind, and I'm damn good at it, so again, don't think your reality is "the one".
Thanks for the comment.
How do you know you aren't making generalization? I could say that I've known many who's programming while working minimum-wage jobs, in-between jobs and can barely pay rents. A few I know is contributing greatly to open source and has thousands of other developers using/following his work (maybe including you?).
If most people are writing code just to pay bills, you won't see as many working on open source projects for free. So with this solid evidence, I will have to disagree.
There's your world, then there's other worlds outside of that.
I can easily do a search on glassdoor.com to know that no programmer (at least in developed nations) goes hungry. Now what's your evidence for asserting that people get into programming to solve puzzles and not just to get a decent job?
Paolo, what made you so mad about programming with fun? Don't you at least enjoy yourself writing code?
You can't just do a search on glassdoor to get the base salaries and assume all programmers get at least that. Do you only refer to paid programmers as programmers? Do you consider teenagers programming at home as programmers? How about single mothers learning code?
I also find your exclusion of developing nations moot. People all over the world are programming, and even many of exciting things are being built in developing nations.
Altogether you have missed my point completely. Nobody is asserting that people are getting into programming just to solve puzzles. Every serious programmer wants a decent paying job, but that doesn't mean she is doing it without the slightest love in the craft. Nobody can ever get good without the heart in the right place, and without getting good you can't get a paying job.
I've been through work-driven burnouts multiple times, mostly because my job was boring me to death with extremely repetitive tasks, without seeing any value in what I was developing. It usually led me things like online-gaming addiction in order to run away from it (work 8h, go home, play 5-6h, sleep, repeat)..
In my case, I had to go for a complete refresh in life, making multiple changes at once, in a simple "alright, fuck it" way, changing to another company, starting studying on a daily basis a subject not directly related to programming and trying to exercise a little bit more.
I'm still far from where I'm aiming for, but these changes got me happy as I wasn't in a very long time, reason why I identified so much with your post.
Keep sharing :P
Thanks for sharing! I'm sure everyone had been there at some point (or will be) and this would be great advice.
I've been cramming code for the last few years, and my hobbies had been code-related somehow (reading technical books, hacking electronics). In fact you could say I didn't have a life. I didn't go hiking, exercise, get excited about new things. I didn't even play games. True that kind of pushing through did get me to where I am fast, but it's also very unbalanced and risky to my long-term goals.
Again, great sharing.
I've definitely encountered burn out on numerous occasions. Whether it was a stressful dev job or the birth of my daughter, it can be tough no matter what.
Recently I've found that getting outside and just moving has helped my stress levels a lot. I don't work out at the gym or anything like that, but taking anywhere from 20 to 90 minutes to walk each day has done wonders for my mind and body.
It's the little things. :)
Thanks for sharing!
Yes, I agree. The body and mind are very connected. Burnouts are a way the mind tells the body you need to get out!
Definitely! I believe the body starts talking much earlier than burnout and if you learn to be aware of those cues then you can prevent and avoid burnout altogether.
I’m very surprised that nobody in this long discussion thread recommends to SEEK PROFESSIONAL HELP. Burnout is a very serious thing and, even assuming you can detect it before it’s too late, which is NOT a given, taking a walk in the woods or forcing some discipline on yourself probably isn’t going to be enough. And if you detect it too lte, then it takes a very, very long time to recover. Don’t take this issue lightly.
I completely agree it's not to be taken lightly. Having said that most people don't have access or willing to seek professional help (for different reasons). Discussing with friends and even a community such as this one is a good start.
I was burned out last year. There were a variety of reasons, but chiefly, I realized the one nagging issue I had was not getting anywhere with both of my two 5-year goals I had set myself in 2015. I tried a variety of things to fix this:
All this while, I kept reminding myself that I have previously overcome challenges that seemed insurmountable and this shouldn't be different.
Thanks for your sharing! Keep it up.
I'm one of those teenage developers who codes as a hobby in their free time. When I get going properly on a project, hours can pass without me noticing at all.
I usually begin to burn out when the pace slows down and I get stuck (e.g. when I encounter something I just can't get working no matter how hard I try), but one thing you haven't mentioned in your post is that success can cause burnouts too. Often when I finish a project I just sit back - and sure, I'm glad it works, but I'm also at a loss. I have other stuff sitting there I could work on, but I've just poured all my energy into this project and I no longer have any motivation to continue programming. Usually, I spend a week or two doing other things (like reading through a pile of novels instead), and it's only then that I feel fresh and ready enough to begin on the next thing.
Maybe it's different once you get a proper job and you aren't the one choosing what you work on, or maybe I just manage things badly, but I do wonder if anyone else experiences this.
Thanks for your insight.
This is one of those things that proves "Hemingway's Effect" is better at being productive. The key is stopping when you get stuck. Don't bang your head against it trying to pull it off. Here's some reasoning:
When you're stuck, it's easier for your mind to remember where you got stuck when you return to it after a break to think about it in a different context.
There's more drive for you to go back to get it done than stopping after a successful deed.
I've read that Hemingway spent only a few hours every morning writing. The rest of day he went about strolling and spending time with his family. Yet he's one of the most productive writers and unarguably one of the most successful.
Oh, I can definitely see how that's good. For programming, though, I disagree slightly. You shouldn't stop immediately. Programming is a form of problem-solving, after all. Nothing would ever get solved if people stopped straight away whenever they came up against a wall.
Sure, you shouldn't just bang your head against that wall and get nowhere, but before you go, check if there's a door you could find a way through. Usually, if I'm stuck I spent a bit of time trying out different fixes and googling to see if others have encountered the same issue. If I'm clearly getting nowhere or just wasting time, I go do something else for a couple of hours, then try again. It's only then, if I'm still not making any headway, that I leave programming alone for the rest of the day.
I try to keep to programming strictly as a hobby, and i also made sure to put myself into a position where i don't have to do anything that I don't want to. Keeping that in mind I have the freedom to veer down any path I so choose. My advice, if you're burnt out but still enjoy doing it then get yourself into a position where it doesn't matter and there's no necessity to "work" you'll find that you'll do what you enjoy doing when you enjoy doing it. Whatever that may be.
Thanks for the comment and lead to a great write-up. Yes, "passion" should be spared, but partly because it's been over-/mis-used in copywrites and marketing material so much it's become dangerous for many people pursuing not just programming but just about anything. Why? Because they are hard, and most people misunderstand passion as being similar to having fun. No, I did not mention fun.
So, I don't think true passion is bad. In fact, to do anything great and go through obstacles passion is really crucial. But it needs some other qualities as well like prioritization, abstraction, and the will to learn, and discipline, to name a few.