Burnout is defined by Wikipedia as "exhaustion, lack of enthusiasm and motivation, and also may have the dimension of frustration or cynicism, and as a result reduced efficacy within the workplace".
How to know when you’re burning out
Many employers push software developers to work extra hours and weekends thinking this won’t affect their performance. During one of my early jobs I was burned out; however, I could learn from this and I’d like to share my experience.
Do you dislike going to work? Do you complain at work? Do you dislike your employer? Do you have an I-don’t-care attitude towards the outcome of your project? If you answer yes to some of these questions, chances are you’re burning out. Let’s talk about how to overcome it.
1. Don’t work after hours
Try working only 8 hours a day. Remember you’re not a machine. Also don’t check email after work.
2. Take a break
Most of the time, taking a vacation is enough. It could be a 3-day vacation or a 2-week vacation. Stop thinking about coding, stop thinking about your project and focus on something else.
3. Talk to your employer
Your manager is also a person. If you talk to them, most of the time they'll understand. Be prepared to give suggestions that can improve the situation. If you act at the first signs of burning out it will be easier to overcome this state.
One thing you can try is becoming self-motivated. It allows you to find your own objectives, your own goals. It allows you to be self-aware of what you’re going through and change your state of frustration into a state of positivity.
5. Radical changes
In rare occasions burnout is so extreme you should change employers. I’d leave this as the last option and consider other alternatives before quitting.
So far I’ve been lucky enough to work for managers that value people. Try to get surrounded by people like these and burning out is something you’ll never have to worry about.