Causes of burnout
- Sedation Spending too much time in one place, staring at the same things day-in-day-out.
- Stress Programming is high-stress, high-mental energy. This can lead to mental breakdowns, depression, anxiety, etc. Don't be afraid to talk to a professional. It is especially useful to find a professional with experience with programmers if possible.
- Monotony kills. Try to do smaller tasks and order tasks to prioritize variety and change.
- Isolation. Talk to your friends, family, etc. regularly--even if it can only be virtual.
How to avoid burnout
- Set a personal backlog (I use a personal kanban board, one for work, one for self, and one for family) and learn how to rank and prioritize the tasks that need to be completed first. Sometimes completing a quick low-priority task can be more rewarding than completing a long-running higher priority task.
- Take regular breaks. I use a 30-minute hourglass instead of a noisy electric timer.
- Use vacation time. I am lucky enough to have an employer who has a very generous policy and can take 1 week per quarter, plus an additional 1 to 2 days per month.
- Focus on your career goals. You should be dedicating time to focusing on what helps your future not just your employer's future.
- Exercise and get enough sleep. This is hard. Try anyway.
- Start slow, keep things small, iterate, and keep on moving.
What if you are already burning out?
It is difficult to regain control of yourself when you are already over-stressed or in deep burnout for weeks (or months). You should try to create or maintain lifestyle choices to help mitigate or eliminate stressors.
- Start by doing nothing! Seriously, take some time off work to relax, start a new hobby, read, etc. The time it takes to recharge will vary, but your top priority should be to pull away from stressors.
- Learn to say no to tasks. As developers, it can be tempting to take on too much, to over-promise, and watch your backlog grow to an unmaintainable limit. Learn to let things go, and prioritize what needs to be done most.
- Change your environment. Sometimes all it takes to renew your interest is a quick change in scenery. Move your office. sit outside if weather permits, and move from a Windows OS to MAC (or vice-versa) to stimulate new learning.