Exhaustion of physical or emotional strength or motivation usually as a result of prolonged stress or frustration (Merriam-Webster).
Why it happens
One of the most common ways to get burned out is simply by working too much. You may be doing a lot of crunch time activities or extra work on side projects, for example, being an opensource library maintainer.
Never ending learning curve, constantly having to put out fires, complex problems, and deadlines, are what helps fuel the burnout.
Combine this with lack of sleep, neglecting hobbies, friends, and family, and you are on the high-speed train to the burnout land.
How it shows
A common pattern you will notice when getting close to burnout is becoming irritable and annoyed easily. Feeling like you are not under control is another one.
Living like that for a while can increase the chance of catching a cold due to the degraded immune system.
When working conditions become worse, the brightest and smartest employees tend to leave the company first. Some of them will either relocate or leave the field completely. This is unfortunate because fixing the reason for burnout should be the responsibility of you and the employer.
Here are some short and long term remedies that can help with the burnout. The goal is to prevent it in the first place and establish a healthier company culture.
If you are experiencing burnout, take a break. A few days or weeks will help clear your head and start fresh.
After the break, identify the core problems that lead you to burn out. If they are connected to the work you do at the company, try speaking with the manager and explain them how you feel. A good manager will appreciate your openness and will help you find a solution.
Small problem, often overlooked is the noise in a typical software development office. If you work in an open office, I strongly recommend getting yourself a pair of good noise canceling headphones to help you focus better.
It's important to holistically fix the issues that keep leading you to the burnout.
Value your time. Even if you are not a contractor, think of yourself as one. You are a craftsman, exchanging expertise and time for pay. This way, you can build a sense of ownership over the work you do. Learn to say "no" to meaningless meetings and extra work.
Plan the days. Create a to-do list for the next day the night before or in the morning. This way, you know what you need to do and can keep track of how much can be done in a day.
"All work and no play makes Jack a dull boy."
Have hobbies. Having hobbies other than coding is crucial. Going to the gym, hiking and dancing are some of the active activities that clear your head and maintain the balance between work and play.
If the burnout keeps happening and you've realized that it's the job that is causing it, consider switching jobs. You are currently in a great place as a software developer and the demand is high. I'm sure you can find a company that values the health of its employees.