In Part 1 I described four reasons for developer burnout. In Part 2 I described the first two reasons in more detail and provided some vague direction in how to avoid those pitfalls. Here I will attempt to expand on the second two of the four reasons for developer burnout.
Feeling overwhelmed at the amount of information processing and learning time required to stay up-to-date on current technologies. Technology, in particular software development, moves very quickly. Staying up to date on new trends in software takes considerable time, and I've never known a company to invest adequately in that time. That means spending nights and weekends doing more of the same kinds of things one just spent 40++ hours during the week doing: coding, reading, bug fixing. It's exhausting. My only advice in this area is to choose wisely, both in which new tech areas you pursue and what resources you use to learn them. The time available for this extra work is extremely valuable, so you must make the most of it.
A long-tail of other demotivating factors. Company cultures that are incompatible with the kind of deep work required by software development probably being first among them. Poor software development process also being towards the top of this list. (And that is the subject of many books.) Conflict with other team members. Imposter syndrome. Any other factors that inhibit productivity and flow state while working. My only advice for all of these is: be proactive to create the best environment possible for your work, or move around until you find an such an environment. (I actually think these factors are the most to blame for the transient nature of software developers, not the ever-increasing market for their skills.)