Burnout doesn't come in a week. It takes years of accumulated frustration piling up. Once you become burn out is already too late. So if you are already burned out, take a sabbatical and consider a new job. I did that and worked for me.
If you think you may become burned out, you need to figure out what is causing it. Maybe is how your company works, maybe are your customers, maybe is a single project that keeps coming back. Seek a way to remove that from your life. In my experience changing the way teams and companies work is impossible, so consider switching jobs if you can't avoid what causes you stress.
Burnout had little to do with coding, and more with how you feeling your work. I am happier when I code than when I am doing management. Time off is also important, but if your work suck you will still feel miserable and depressed. Is rather work on something cool 50 hours a week than do something I hate for 30.
The biggest tip I can give is to allow yourself to take time away from it. No matter was is causing the burnout it will be there when you come back to it. I can honestly say staying later or dwelling on an issue has never solved an issue faster than leaving it and coming back to it refreshed. One way I try to allow myself to shift focus is to have concurrent projects. This allows me to pick up something new and move it forward as I clear myself of the frustrations of the first project.
Another good tip is to reach out for help. In almost every case someone has been there and can provide guidance. There are all of people out there that are willing to help you just need to be open to asking for it.
Deal w/ anxiety + PTSD, things piled up and I was super overwhelmed around August and didn't touch any programming language for 3mos. Was honestly the best choice I could have made.
When I started up again, one of the first things I did was get on Twitter. 0 followers, wasn't aware of the world of Twitter-famous developers, just started tweeting out questions with hashtags relating to the topic I was struggling with. Lo and behold, people a lot smarter than me helped! I became engaged in conversations! I got a 🤘🏾 from @thepracticaldev
(<3)! I contributed to open source! I found a mentor!
Don't overload yourself, take a break if you need it, openly ask questions. All around great advice.
I also really like this advice. Yesterday I was feeling overwhelmed by having a lot on my plate, and I just reached out to a friend for some help getting it all together. I rarely do that, and I want to learn to be faster to ask for help.
Kim Arnett [she/her] leads the mobile team at Deque Systems, bringing expertise in iOS development and a strong focus on accessibility, user experience, and team dynamics.
If you're working on a side project in addition to your normal job, keep most of your nights free.
Go enjoy some nature. Kayaking has really helped me disconnect and recharge.
I think another keyword is disconnect. I've felt 1000% better since removing email from my phone, turning off most notifications, and staying off my phone after 7pm. Give my eyes some non-screen time. :)
Don't feel obligated to work on your "side projects" you work on in your free time or even have any side projects, especially if you're already getting paid to code. Stop reading and thinking about coding all the time, unless you feel like doing it.
There can be an immense pressure to try to do and read all the things all the time. But you don't have to. Very few people live and breathe coding and software design patterns and the latest frameworks and are just fine! Have a hobby that isn't what you're already doing for 8 hours a day!
Focused on creating wonderful user experiences by attending to folks needs with empathy and creating spaces of safety. Senior Frontend Developer/Tech Lead at Dolittle.
This is a very personal topic, and there are many good answers to the discussion already. I'd like to add a little perspective, as someone who's experienced burnout.
Many refer to burnout as work-related, but there isn't a guarantee that's the source. Quite often work can be a contributing factor, and also a trigger, but the source of burnout can be some place else. This was the case with me. A combination of many factors. Personal health, diet, work-pressures, raising small children, an ill wife. Things many people deal with on a regular basis, but for me the pressure built up over time, and bubbled over.
The thing is it often happens to people that are passionate. People who care about the things they are doing that are also the source of that burnout. It's a double-edged sword.
It's like doing the right things for the wrong reasons.
My way back from burnout has been a long one, and I'd like to share some things I've learned that makes all of the difference, for me.
To recover from the initial incident, only one thing helped: Disconnecting from all external commitments, and taking rest. Huge benefit for me was paid time away from work. A perk everyone has in Norway. Gardening became therapy for me in this period (not so much now 😉). Spending time with my family and children. Doing more things I wanted to vs had to.
After that initial "recovery" (I wasn't ready to start working) I found, and Embraced Empathy. This is a very personal one, but this has been a guiding principle in my life ever since I experienced burnout. Show empathy for myself has allowed me to show it to others. Reaching out to others has allowed me to show it to myself. It's a positive, self-enforcing cycle. which has built up my own resilience,
Other things played a major factor in the time since, and I tend to balance and weigh these practices differently based on actual needs:
Focus on your circle of influence. Not your circle of concern. This has been really powerful for me. When worried and concerned about things I cannot change, I feel helpless. Often REALLY outraged, but at the end of the day, I have no way of releasing that pressure. After I switched to focusing on the things within my control, I've seen my circle of control / influence expand & a greater sense of contentment.
Eat well and Move. Your mind and body play a key part in sustaining your brain. You don't need to be an athlete, but a simple 20 minute walk daily will work wonders. Also, a good diet will work wonders.
Practice mindfulness. This doesn't need to be meditation, but taking time out during the day to be aware of your motions. Try to act purposefully, instead of by habit.
Regular introspection. A mix of mindful mornings and journaling has helped me formulate thoughts and come to conclusions, which has allowed me to adjust course when I felt things weren't working.
There are more than enough points here to dig in to.
I've shared my story of burnout here, if you're interested: codingwithempathy.com/2016/04/12/m...
Get regular sleep. Even if you have to tear yourself away sometimes. Notice when you feel compelled to sit in front of your computer, but aren't accomplishing anything.
Find something you can do, and like to do, regularly away from your desk. It should involve light exercise and limited focus. Swimming, gymnastics, dancing, and gardening come to mind.
Besides the obvious benefits of activity, these sorts of things can induce a daydreamy state - Theta brain waves. This level of consciousness is ideal for letting your thoughts coalesce. I often think of my best ideas, or suddenly discover the next thing I need to do to solve a problem while showering, or mowing the lawn.
Been building web applications of all shapes and sizes since 1998 mostly with PHP and yelling at anyone who will listen about writing tests and using automation to make your life easier since 2005....
For the past 2 years I have been doing a 4-day workweek from Mon-Thur - 32 hours a week. One of my mentors put me onto the idea and asked me to write about it -> unicornfree.com/2014/guest-post-ho...
I think the best way is to use your creativity for activities outside of programming or computers. Music, art, sports, dance, gardening, wood working.
It is a tough balance to strike due to the fact that many of us feel pressure to be productive at writing code. Some days just won't be productive, and your best bet is to rest your mind and prepare for tomorrow. The main cause of burnout is maintaining too fast a pace, and taking work a bit too seriously.
If you're normally a workaholic that needs calendars, todo lists, and productivity apps: schedule blocks of time during your day for relaxation. Don't be specific. During those blocks, do not try to be productive. If you can't think of anything to do, sit and do nothing.
Also: drink water, stand up often, stretch, and walk/run/bike.
A healthy lifestyle can be minimized, but it must not be eliminated.
I've found that I need at least 4 hours of sleep to function the next day (2 REMs).
I'm most efficient when I take a short break to walk and stretch every 3-4 hours.
Eating healthy makes a huge difference to me. Often a vegetable-based meal will do more than a pot of coffee, especially for lunch.
If you're getting stuck, switch to a different task or take a walk to allow your brain some time to break out of the loop.
Make sure your workstation is configured to be ergonomically efficient. Herman Miller has a good amount of public content on the topic: hermanmiller.com/research/topics/e...
Get familiar with the warning signs of burnout in yourself and tackle them when they first appear. It's better to take time off to sleep, eat, workout, socialize, etc to allow you to recharge and start back over than it is to recover from total burnout.
Everyone is built different, so take my insight with a grain of salt.
Pace yourself. There's always more work tomorrow no matter how much you get done today. Don't set an impossible pace dealing with the queued up work you can't meet, because you will try and hold yourself to it, and so will those around you. It's better to finish something earlier than promised once in a while than to be behind once in a while. Don't let the burden of being a superhero at delivering things fast, and the worry of what happens when you finally can't, wear you down.
Don't do it obligatorily (for me, at least, that makes it a chore and it looms over me)
Avoid commitment (the idea of releasing an open source thing is exciting, but maintaining it over time is high cost, low appreciation -- even abuse, and doesn't stand to offer you much).
The simple obvious thing you would have done when you were brand new, that thing is actually a pretty good solution. If it's not good enough, introduce complexity as needed. But don't start with complexity, so much effort has been spent and so many simple easy projects turned into failures because people were trying to do it the "Right Way". But the right way has a scope, and that scope is typically medium to large projects. Don't start there, you'll spin your wheels and fail and burn out.
If you do those things, then you can have the option to get excited enough to do a small several hour to several day project, learn a lesson from it, and then set it aside to never be looked at again. Those projects are fun, and they don't cost you some permanent investment that is hard to get back.
Also, if you're doing this for work: Then know that estimates are bullshit, so don't commit to some estimate, and don't feel bad for blowing one (do reflect on why, though). And don't get attached to your code or some idea you suggested. You'll enjoy work so much more if you have better code that other people suggested, and if you don't feel obligated to double down on an opinion that as you think about it, is probably wrong.
Try to sleep a minimum amount of time each night.
When things are getting bad (really), try to get help in the manner that fits your needs, at that particular moment.
Discuss the situation with your belongings, and describe to them what is causing you the mountain of stress.
And most of all, believe in your strengths, no matter your boss or others can say!
Jokes aside, this is good advice. You don't even have to wait for it to go bad or really bad, the sooner you identify burnout and take care of it the shorter the episode.
Burnout seems interesting - I've never experienced it, and have been a programmer for a long time. Maybe it's from getting emotional about work? I've always believed that being dispassionate and objective keeps me on task. Organization helps, a todo list.
I think you're particularly in danger of burnout if you're entirely in charge of your own schedule. If you are, I recommend scheduling regular off-times. There's always more work to do. Don't prioritize work over things that are important to your general well-being.
As with most things in life there are varieties of burnout and I use side projects to fight off the variety that stems from feeling stuck in an "enterprise-y" environment where your day to day tools and frameworks are long overdue for modernization. The kind where the day to day monotony of keeping systems running and implementing dry feature requests just wears you down. OR - trudging along as a systems integrator where your third implementation starts to signal all this work is always the same and you mentally and emotionally start to wither away. For these kinds of problems having a few no pressure, no deadline side projects that let you explore the technologies of your choosing can really help remind why it is you do what you do.
I wish I knew... A first, very important step one can take is recognizing when burnout is coming. This alone will save you a lot of time, grief, money, and health. If you feel burnout is coming consider it an emergency: drop everything you're doing and address it! Check if your company has an EAP, or talk to your GP and get a referral to a counsellor/psychotherapist.
A technologist currently working in eHealth, loves to code, grow new developers and solve new problems leveraging old technology approaches.
I love opensource & knowledge sharing
Location
Kampala, Uganda
Education
BSc Civil Engineering
Work
Problem Solver and Solutions Strategist at Styx Technology Group
I look to vary the work that I do within my role, looking for opportunities to have exciting side projects which helps me stay connected to work, but where I can control my own paths.
I am also continuously looking to grow newbies and others in the community that I serve and my field so that I can replace myself from the role that I have to grow into a new one.
Having side projects to work without pressure from the company made all the difference for me in the last days.
This way I have the feeling of doing something my own way, having real advances with no bureaucracy at all.
I find making the time for physical activity clears my mind and helps me focus. No matter how much I have to do and how stressed I may be to get it all done I will put working out first. It sets me up for a positive and productive day by putting myself first.
Take time off regularly. Even if all you do is have a week of getting up late and watching TV.
Don't chase after everything new that comes out. If something looks interesting then maybe have a look, but don't do it with everything. (I see this as the cause of "JavaScript fatigue")
Only do stuff in your free time if it is of interest to you. If it's work related then your employer should be providing training and/or time to learn.
Make sure to talk to people and ask for help if necessary. No point in stressing and mentally exhausting yourself when you can ask advice.
Sleep is important. Make sure you get enough.
Keep the overtime to a minimum. That is your time.
Make sure to manage expectations around your workload. If you have a deadline for some work, ensure it is reasonable and achievable. If not, communicate this. If there is any change in the deadline being achievable, communicate it. A lack of planning on their part should not constitute an emergency on yours.
To elaborate on Er Galvao, do a pet projec...but one that is fun. For me, this is always building a game. I am a hobbyist board game designer and I love to use my games as platforms for programming projects. It never feels like work.
1) Collaborate with humans who know you will be offline sometimes and are ok with that.
2) Curate your online news such that it doesn't spend all its time trying to convince you that you're supposed to feel bad. This might require muting some people on Twitter. This does not make you a bad person; refuse to feel guilty about it.
3) Cultivate a hobby where the progress you've made is visually obvious. Crafts ("That used to be a ball of yarn and now it's a scarf!"), running ("I used to be over there but now I'm here!"), gardening ("that used to be a bunch of dirt and now it's food!") are great for this -- progress that's visible to both you and to humans without your technical domain knowledge is important to have.
I'm a new (< 3 years) developer and haven't experienced what I'd consider a full burnout at any point, but I have definitely gone through some periods where I wasn't enjoying it as usual. For me, avoiding burnout has boiled down to a few things. Most of them aren't particular to being a developer either:
Maintain other hobbies, pursuits, and relationships outside of software development.
Avoid having to make a long commute every day.
Work with people you enjoy.
Treat your body reasonably well by getting sleep, eating okay, and working out. Also, stretch every morning; it feels great.
Balance working on things you are already good at with learning new things. I have never really heard this expressed in the community before but I think it's key. Yes, if you are always doing what you already know how to do you get bored. But conversely, if you are always learning new things (feeling/being inadequate at something) you won't get the satisfaction that comes from having command of a skill and using it.
I also find teaching people things I've learned is super refreshing.
Follow up question: what do you do after burning out? After quitting your job and feeling like you don't want to touch the industry with a 10 foot pole, what comes after?
Serious question, I have been spending every spare minute in front of a computer for the last seven months and the last week I haven't been able to focus on anything...
I stop doing any form of code work. I work out, spend time with my loved ones, sleep, go out... Something I haven't indulged in a while. I break away for a few.
Whether we use React or Vue or Angular, we will regret it. Instead let’s solve the problem then choose the technology
Interested in UI/UX, design thinking and data visualization
Work on at least one "pet" (personal) project. Being able to develop something you like is the most refreshing thing a programmer can do, in-my-not-so-humble-opinion.
Drink lots of water. Not coffee, not Red Bull, just plain water.
Take frequent breaks from work. A few minutes every hour is good.
Walk / run / jog / exercise everyday.
Talk to a human being face to face for a few minute. Do not leave touch with your human side.
Eat balanced food.
Pick a day to engage in other activities that you do not consider work to ensure that feel rested.
Aw man I have to talk to another human being? Dang I guess I'll burnout /jk
Burnout doesn't come in a week. It takes years of accumulated frustration piling up. Once you become burn out is already too late. So if you are already burned out, take a sabbatical and consider a new job. I did that and worked for me.
If you think you may become burned out, you need to figure out what is causing it. Maybe is how your company works, maybe are your customers, maybe is a single project that keeps coming back. Seek a way to remove that from your life. In my experience changing the way teams and companies work is impossible, so consider switching jobs if you can't avoid what causes you stress.
Burnout had little to do with coding, and more with how you feeling your work. I am happier when I code than when I am doing management. Time off is also important, but if your work suck you will still feel miserable and depressed. Is rather work on something cool 50 hours a week than do something I hate for 30.
The biggest tip I can give is to allow yourself to take time away from it. No matter was is causing the burnout it will be there when you come back to it. I can honestly say staying later or dwelling on an issue has never solved an issue faster than leaving it and coming back to it refreshed. One way I try to allow myself to shift focus is to have concurrent projects. This allows me to pick up something new and move it forward as I clear myself of the frustrations of the first project.
Another good tip is to reach out for help. In almost every case someone has been there and can provide guidance. There are all of people out there that are willing to help you just need to be open to asking for it.
+1 on both points
Deal w/ anxiety + PTSD, things piled up and I was super overwhelmed around August and didn't touch any programming language for 3mos. Was honestly the best choice I could have made.
When I started up again, one of the first things I did was get on Twitter. 0 followers, wasn't aware of the world of Twitter-famous developers, just started tweeting out questions with hashtags relating to the topic I was struggling with. Lo and behold, people a lot smarter than me helped! I became engaged in conversations! I got a 🤘🏾 from @thepracticaldev (<3)! I contributed to open source! I found a mentor!
Don't overload yourself, take a break if you need it, openly ask questions. All around great advice.
"I got a 🤘🏾 from @thepracticaldev (<3)!"
Aww ❤️
I also really like this advice. Yesterday I was feeling overwhelmed by having a lot on my plate, and I just reached out to a friend for some help getting it all together. I rarely do that, and I want to learn to be faster to ask for help.
Walk away from it every night.
If you're working on a side project in addition to your normal job, keep most of your nights free.
Go enjoy some nature. Kayaking has really helped me disconnect and recharge.
I think another keyword is disconnect. I've felt 1000% better since removing email from my phone, turning off most notifications, and staying off my phone after 7pm. Give my eyes some non-screen time. :)
Don't feel obligated to work on your "side projects" you work on in your free time or even have any side projects, especially if you're already getting paid to code. Stop reading and thinking about coding all the time, unless you feel like doing it.
There can be an immense pressure to try to do and read all the things all the time. But you don't have to. Very few people live and breathe coding and software design patterns and the latest frameworks and are just fine! Have a hobby that isn't what you're already doing for 8 hours a day!
This is a very personal topic, and there are many good answers to the discussion already. I'd like to add a little perspective, as someone who's experienced burnout.
Many refer to burnout as work-related, but there isn't a guarantee that's the source. Quite often work can be a contributing factor, and also a trigger, but the source of burnout can be some place else. This was the case with me. A combination of many factors. Personal health, diet, work-pressures, raising small children, an ill wife. Things many people deal with on a regular basis, but for me the pressure built up over time, and bubbled over.
The thing is it often happens to people that are passionate. People who care about the things they are doing that are also the source of that burnout. It's a double-edged sword.
It's like doing the right things for the wrong reasons.
My way back from burnout has been a long one, and I'd like to share some things I've learned that makes all of the difference, for me.
To recover from the initial incident, only one thing helped:
Disconnecting from all external commitments, and taking rest. Huge benefit for me was paid time away from work. A perk everyone has in Norway. Gardening became therapy for me in this period (not so much now 😉). Spending time with my family and children. Doing more things I wanted to vs had to.
After that initial "recovery" (I wasn't ready to start working) I found, and Embraced Empathy. This is a very personal one, but this has been a guiding principle in my life ever since I experienced burnout. Show empathy for myself has allowed me to show it to others. Reaching out to others has allowed me to show it to myself. It's a positive, self-enforcing cycle. which has built up my own resilience,
Other things played a major factor in the time since, and I tend to balance and weigh these practices differently based on actual needs:
There are more than enough points here to dig in to.
I've shared my story of burnout here, if you're interested: codingwithempathy.com/2016/04/12/m...
Get regular sleep. Even if you have to tear yourself away sometimes. Notice when you feel compelled to sit in front of your computer, but aren't accomplishing anything.
Find something you can do, and like to do, regularly away from your desk. It should involve light exercise and limited focus. Swimming, gymnastics, dancing, and gardening come to mind.
Besides the obvious benefits of activity, these sorts of things can induce a daydreamy state - Theta brain waves. This level of consciousness is ideal for letting your thoughts coalesce. I often think of my best ideas, or suddenly discover the next thing I need to do to solve a problem while showering, or mowing the lawn.
For the past 2 years I have been doing a 4-day workweek from Mon-Thur - 32 hours a week. One of my mentors put me onto the idea and asked me to write about it -> unicornfree.com/2014/guest-post-ho...
Thanks for this 😊
I think the best way is to use your creativity for activities outside of programming or computers. Music, art, sports, dance, gardening, wood working.
It is a tough balance to strike due to the fact that many of us feel pressure to be productive at writing code. Some days just won't be productive, and your best bet is to rest your mind and prepare for tomorrow. The main cause of burnout is maintaining too fast a pace, and taking work a bit too seriously.
If you're normally a workaholic that needs calendars, todo lists, and productivity apps: schedule blocks of time during your day for relaxation. Don't be specific. During those blocks, do not try to be productive. If you can't think of anything to do, sit and do nothing.
Also: drink water, stand up often, stretch, and walk/run/bike.
Good advice
A healthy lifestyle can be minimized, but it must not be eliminated.
I've found that I need at least 4 hours of sleep to function the next day (2 REMs).
I'm most efficient when I take a short break to walk and stretch every 3-4 hours.
Eating healthy makes a huge difference to me. Often a vegetable-based meal will do more than a pot of coffee, especially for lunch.
If you're getting stuck, switch to a different task or take a walk to allow your brain some time to break out of the loop.
Make sure your workstation is configured to be ergonomically efficient. Herman Miller has a good amount of public content on the topic: hermanmiller.com/research/topics/e...
Get familiar with the warning signs of burnout in yourself and tackle them when they first appear. It's better to take time off to sleep, eat, workout, socialize, etc to allow you to recharge and start back over than it is to recover from total burnout.
Everyone is built different, so take my insight with a grain of salt.
This!
I've found a sport I really like, happened to be judo. Add a group of people you can play this sport with, happened to be a bunch of great guys.
Each time I am on the mat all problems just go away.
Good 4 U my Friend. I am a former Judoka in the USA----still love to talk about it and be involved in some way.
Take care
Pace yourself. There's always more work tomorrow no matter how much you get done today. Don't set an impossible pace dealing with the queued up work you can't meet, because you will try and hold yourself to it, and so will those around you. It's better to finish something earlier than promised once in a while than to be behind once in a while. Don't let the burden of being a superhero at delivering things fast, and the worry of what happens when you finally can't, wear you down.
Always get your rightful sleep. Never, ever get into sleep deprivation.
Take your time for personal projects and studies. It's important!
Also, for something entirely not related to development. Stimulate your creativity. Heck, even play some videogames!
Do sports. Relieve all that stress. Personally I play rugby.
Hug someone.
Don't do it obligatorily (for me, at least, that makes it a chore and it looms over me)
Avoid commitment (the idea of releasing an open source thing is exciting, but maintaining it over time is high cost, low appreciation -- even abuse, and doesn't stand to offer you much).
The simple obvious thing you would have done when you were brand new, that thing is actually a pretty good solution. If it's not good enough, introduce complexity as needed. But don't start with complexity, so much effort has been spent and so many simple easy projects turned into failures because people were trying to do it the "Right Way". But the right way has a scope, and that scope is typically medium to large projects. Don't start there, you'll spin your wheels and fail and burn out.
If you do those things, then you can have the option to get excited enough to do a small several hour to several day project, learn a lesson from it, and then set it aside to never be looked at again. Those projects are fun, and they don't cost you some permanent investment that is hard to get back.
Also, if you're doing this for work: Then know that estimates are bullshit, so don't commit to some estimate, and don't feel bad for blowing one (do reflect on why, though). And don't get attached to your code or some idea you suggested. You'll enjoy work so much more if you have better code that other people suggested, and if you don't feel obligated to double down on an opinion that as you think about it, is probably wrong.
Try to sleep a minimum amount of time each night.
When things are getting bad (really), try to get help in the manner that fits your needs, at that particular moment.
Discuss the situation with your belongings, and describe to them what is causing you the mountain of stress.
And most of all, believe in your strengths, no matter your boss or others can say!
I tried, but they didn't care.
Jokes aside, this is good advice. You don't even have to wait for it to go bad or really bad, the sooner you identify burnout and take care of it the shorter the episode.
Burnout seems interesting - I've never experienced it, and have been a programmer for a long time. Maybe it's from getting emotional about work? I've always believed that being dispassionate and objective keeps me on task. Organization helps, a todo list.
I think you're particularly in danger of burnout if you're entirely in charge of your own schedule. If you are, I recommend scheduling regular off-times. There's always more work to do. Don't prioritize work over things that are important to your general well-being.
The short answer: Side Projects
As with most things in life there are varieties of burnout and I use side projects to fight off the variety that stems from feeling stuck in an "enterprise-y" environment where your day to day tools and frameworks are long overdue for modernization. The kind where the day to day monotony of keeping systems running and implementing dry feature requests just wears you down. OR - trudging along as a systems integrator where your third implementation starts to signal all this work is always the same and you mentally and emotionally start to wither away. For these kinds of problems having a few no pressure, no deadline side projects that let you explore the technologies of your choosing can really help remind why it is you do what you do.
I wish I knew... A first, very important step one can take is recognizing when burnout is coming. This alone will save you a lot of time, grief, money, and health. If you feel burnout is coming consider it an emergency: drop everything you're doing and address it! Check if your company has an EAP, or talk to your GP and get a referral to a counsellor/psychotherapist.
I look to vary the work that I do within my role, looking for opportunities to have exciting side projects which helps me stay connected to work, but where I can control my own paths.
I am also continuously looking to grow newbies and others in the community that I serve and my field so that I can replace myself from the role that I have to grow into a new one.
Having side projects to work without pressure from the company made all the difference for me in the last days.
This way I have the feeling of doing something my own way, having real advances with no bureaucracy at all.
I find making the time for physical activity clears my mind and helps me focus. No matter how much I have to do and how stressed I may be to get it all done I will put working out first. It sets me up for a positive and productive day by putting myself first.
Take time off regularly. Even if all you do is have a week of getting up late and watching TV.
Don't chase after everything new that comes out. If something looks interesting then maybe have a look, but don't do it with everything. (I see this as the cause of "JavaScript fatigue")
Only do stuff in your free time if it is of interest to you. If it's work related then your employer should be providing training and/or time to learn.
Make sure to talk to people and ask for help if necessary. No point in stressing and mentally exhausting yourself when you can ask advice.
Sleep is important. Make sure you get enough.
Keep the overtime to a minimum. That is your time.
Make sure to manage expectations around your workload. If you have a deadline for some work, ensure it is reasonable and achievable. If not, communicate this. If there is any change in the deadline being achievable, communicate it. A lack of planning on their part should not constitute an emergency on yours.
To elaborate on Er Galvao, do a pet projec...but one that is fun. For me, this is always building a game. I am a hobbyist board game designer and I love to use my games as platforms for programming projects. It never feels like work.
1) Collaborate with humans who know you will be offline sometimes and are ok with that.
2) Curate your online news such that it doesn't spend all its time trying to convince you that you're supposed to feel bad. This might require muting some people on Twitter. This does not make you a bad person; refuse to feel guilty about it.
3) Cultivate a hobby where the progress you've made is visually obvious. Crafts ("That used to be a ball of yarn and now it's a scarf!"), running ("I used to be over there but now I'm here!"), gardening ("that used to be a bunch of dirt and now it's food!") are great for this -- progress that's visible to both you and to humans without your technical domain knowledge is important to have.
I'm a new (< 3 years) developer and haven't experienced what I'd consider a full burnout at any point, but I have definitely gone through some periods where I wasn't enjoying it as usual. For me, avoiding burnout has boiled down to a few things. Most of them aren't particular to being a developer either:
I also find teaching people things I've learned is super refreshing.
pick something that is not computer related – for me is drawing (3 years of daily sketches for my kids)
Follow up question: what do you do after burning out? After quitting your job and feeling like you don't want to touch the industry with a 10 foot pole, what comes after?
How to identify burnout?
Serious question, I have been spending every spare minute in front of a computer for the last seven months and the last week I haven't been able to focus on anything...
I stop doing any form of code work. I work out, spend time with my loved ones, sleep, go out... Something I haven't indulged in a while. I break away for a few.
Don't work a job you hate. Are the User Stories shit? Is the management shit? Is the app shit? Go somewhere else. You will get more money anyways.
Usually I turn back to some pet projects for a while. This makes me turn a big frustration into small accomplishes.
Stand up from my workstation after every hour on the hour. Sometimes it goes for more than 1 hour but i do my best to stay within the hour
Don't work too much, and take it easy.
As somebody who has been struggling with burnout periodically over the last 7-8 months, I'd really like to see a discussion on this topic.
Make a point of leaving the office on time every night. Rather get in earlier than stay late into the night.
Work on at least one "pet" (personal) project. Being able to develop something you like is the most refreshing thing a programmer can do, in-my-not-so-humble-opinion.
A break every hour is a must - not only does it avoid burnout - it helps prevent damage to your lower back.
Work towards a goal and respect your health (body, mind, soul).