Developer burnout is real.
I've burnt out twice in my career, and neither time was pretty. I'd be incapacitated for weeks, barely able to string two lines of code together. Deadlines would slip and colleagues and co-contributors would be disappointed. I'd feel like a failure myself, almost abandoning the career that promised (and sometimes delivered) so much.
I've had some solid conversations about it with other people on here and in real life in the last while and this post shares what I know, including how to prevent it. Burnout is a serious state of chronic exhaustion that can have a whole range of negative impacts on your mind and body, and hence your entire life, including your ability to write code.
(1) Learn to detect the signs. Burnout generally comes about through long-term chronic stress. Check regularly for these signs.
- Trouble getting started with your work (or even getting there in the first place).
- Feeling constantly irritable or impatient with clients, teachers or co-workers.
- Your achievements bring you no satisfaction.
- Youβre engaged in escapist behaviour through drugs, food, alcohol or entertainment (gaming, TV etc).
- Your sleep habits or appetite have changed.
If any of these signs are present youβre potentially close to burning out.
(2) Learn about true resilience. The grind and hustle mindsets can be your enemy - you are not a machine and have mental, physical and emotional limits - respect them and learn to take care of yourself. Exercise, watch your diet, relax with meditation or creativity, sleep enough and well, and step away from the keyboard every so often. Try to operate at 80% of you realistic maximum, at that point in time - it will change, so honour it.
(3) Have a team to check in with. Make sure you have someone in your life who will listen to you without judgement, without trying to fix things either. Talk to this person or people and tell them honestly about two things - what part of your life are you struggling with? What parts are going well? Getting problems out of your mind and into a conversation is a game changer. If you donβt have immediate access to a human, use a journal. Or get in touch!
Have you ever burnt out, or do you feel close? Let me know and I'll point you in the right direction.
Update - since this is proving useful, I'm putting a link to download my Coding Burnout Checklist
Or you can read the results of the Developer Burnout Survey 2020.
Top comments (22)
Having been through this several times now, it never gets easier. The problem with burnout is how it creeps up on you, and once it's taken hold it's hard to shake it.
One of the biggest causes of burnout is not having your work appreciated, or even recognized. If the work you do is received indifferently, no matter how amazing or how terrible, you'll gradually give up on even trying.
Always give your developers feedback. If the work is great, let them know. If it's awful, let them know. If it's half-assed, just phoned in, let them know and try and find out why. Encourage them to do better, and help them get there.
I totally agree about the feedback. It's crucial to stop yourself from beating yourself up sometimes. Removing yourself from toxic environments is one good strategy. Learning to navigate them, and how to appreciate yourself, or take joy in your work for it's own sake, can help sometimes too, but the baseline needs to be right.
What have you done to recover when you have burnt out?
One thing thatβs important is having a clean break from your cycle. Moving to a new company with new people and new projects can work, but thatβs hard to do when youβre already in a rut.
Taking a job, any job, with entirely different responsibilities may help decompress. Try something with no lingering responsibilities, something with a very clear work/life separation. You work, youβre done, you do other things.
The biggest problem in tech is our work is never done. Thereβs always bugs, things to update, features to youβve been intending to add, and the weight of all that on your mind can be crushing, especially if thatβs all your singular responsibility. When you go to do anything youβre always thinking of the other stuff youβre not doing thatβs also important.
For a break from tech I spent some time working in construction where if you build something right itβs built, where a sink, once installed properly, is a finished project. Being able to complete something and see tangible, in some cases literally concrete results is what helped me a lot.
Thank you, you're totally correct.
The biggest problem with tech is that it's a mental game. The act of working is a mental activity, and we can't actually switch our minds off, so it's hard to let it go. This, with the amorphous nature of when a software project is "done" definitely doesn't help with that.
So figuring out a way to work with my own mind was crucial in my own journey. And I've also downgraded responsibilities at times too like you suggest - not by getting out of dev completely, but by taking part-time or less challenging work.
Realizing that the work is never finished is key - now you can stop worrying about it.
Re construction: I thought building is a "more exact" profession as well.. until faced having a house through planning and construction. There are always ad-hoc situations to handle, modifications to make retroactively.
Programming is problematic since it is so fun and easy to get into. Then we are not used to persisting through challenging problems. Our love of the profession helps us pick up skills and make amazing progress, but a professional gets the job done even if bored to death by it. A contradiction hard to resolve.
Agree with you about the problem of work never being done. When I finish a project I never feel a sense of satisfaction. I always expect some new bug will be found or another feature will be requested. We solve so many problems and deal with a lot of mental stress to build digital assets that very often will be replaced within a few years.
I feel you so hard on that.
Indeed. Well said!
Burnouts are not to be taken lightly and are a definitely not a case of 'feeling burned out this week'. Their effects and after-effects can easily span months, and likely span years. Far beyond not feeling up to writing code, they can ruin careers, relationships, and both mental and physical health. So keep an eye out, for yourself and for your colleagues.
Yes, it can be that serious. Mine took months to recover from.That's why I put together my checklist
Preventative measures are key here. Adequate rest, some attempt at exercise/movement, diet, talking it through, removing toxic environments - all are important.
It is really common having burnouts once or twice a year... But in fact the problem is that I work with abusive/lazy managers... So at the end I play more than 2 or 3 roles in the company causing such mess in my brain... It's like, I answer calls, develop and sometimes I have to cope with some lazy co-worker, and when I say lazy it means that someone don't do their work as well... Like right now I'm so mad, angry and dizzy that I can't even thing about the code...
Btw Thanks for sharing;
Can you change jobs?
I'd say it's complicated! But I know that the unique solutions is a job change...
Actually I set that this year is my last in this company!
I wish you well! There are reasonable employers out there, so find one and take care of yourself!
Hey! Sounds like a bit of a struggle. One of the signs of burnout is definitely feeling less joy in the things that you used to enjoy.
You seem to have a lot to do in your life. My question is - what do you do to recover the energy you expend? How is your rest and sleep? Do you do things like exercise, nap, meditate, journal... or is it all work, all the time?
No matter how much we'd like to believe otherwise, we've got a finite capacity for doing stuff. Burnout is quite literal - we burn out all the available energy. The fix is generally a balancing act - taking stuff out of the equation for a while in order to recover.
Hey Daragh! Thanks for the article and the resources you share.
It's lucky I found your post (this is how I stumbled into dev.to by the way), as I started writing a small book (Programming Without Anxiety) about a related topic.
You seem to aim to help people nearing burnout through introspection and meditation, and I intend to dismiss early causes of anxiety and programming blockage by focusing on professional aspects.
I'll go through your meditation material and get back later!
Great! If you'd like to start a more in-depth conversation, email me (daragh @ codingmindfully)
You said it well and the signs are all there.
Working on the same type of project over and over again can always be quite repetitive and exhausting. A few people here have mentioned that they start to lose satisfaction after a project is complete and this is exactly how I feel. Perhaps the challenge is not there anymore or I'm getting less and less passionate about development - maybe I'm getting too old for this!
Another thing is staying in the same company for so long and watching the people you've built close relationships with come and go can also affect you emotionally too. With a mix of sad emotions and a list of unexciting projects in the pipeline really does something to your brain. Does this mean it's a sign of change? Maybe a change in environment? New people? Different role?
Right now I'm trying to focus on the positives. My client's and colleagues appreciate the work I do, which is the only thing keeping me going right now.
No problems, I'm here to help!
Firstly let me answer your specific question - yes, it's normal to struggle when getting back into coding, whether you are burnt out or not. It's an essential part of the flow cycle - I experience it myself. Humans have what's known as "working memory" which is where you store your active task. Part of the job of coding involves populating that working memory with a model of the system and problem at hand. Naturally when you step away from a problem for a while your working memory gets filled with something else, and it can take a while to put the problem back in there.
That said, if that's something persistent, it's either a question of motivation or energy. It sounds like you're managing your energy well. So perhaps it's motivation. There's a sweet spot between skill and challenge that you need to hit to find your most productive flow. You can read my thoughts on that here:
A guide to Flow states for programmers
Daragh Byrne
Perhaps you can work on adjusting both? Make something that you really care about, something that would actually make your life better if it existed.
Your working life will alternate between these states so expect it. Some weeks code flows from the fingertips, others it doesn't. If it persists for a long time then it's time to consider whether you're burnt out. Perhaps, and if so, I can definitely help!
Check out the rest of my writing at codingmindfully.com, there's plenty out there about this.
Oh man, absolutely!
I've been in the industry for 24 years, so I've hit up against developer burnout several times.
I love that you wrote this article.
It's such an important topic to make people aware of!
You gave some insightful suggestions.
In addition to your great tips, I have an article over on my website where I shared my journey and how I learned to set better boundaries to prevent burnout.
I hope it helps someone stay out of the danger zone. β£οΈ
Thanks Daragh!
Great article and great advice in it! Boundaries are super important. I have an article on dev.to about Saying No as well, ties in with what you said!
Computer and software industry is moving forward so fast that it is hard to keep up with it. Burnout is real, It has been only 6 months since I joined my first job and I have already experienced this situation, to prevent this I do play an online multiplayer game which is highly rewarded and that makes me satisfied
Yes feeling satisified is super important!