FYI - in addition to heeding these excellent suggestions here, I have had the chance this week to do a lot of introspection (and sleep!).

It's very interesting to me that I did not immediately identify this as a classic case of burnout. I don't think I have full-on burnout yet where I need to quit my day job and go sailing across the Pacific or something.

One of the main catalysts (catalysts != causes) of my own case of burnout to be the adoption of the SPA at my company. I am not going to turn this into a rant about SPA, but instead I'm going to post a self-interrogation I did using the "5 whys" technique to uncover the (far more interesting) root cause.

Q. "Why do you hate the SPA pattern so much?"

A. Because it throws away too many useful features of the browser for a user experience gain that is dubious at best.

Q. "Why do you think it throws away too many useful browser features?"

A. Because employers end up realizing too late that they really need things like links and the back button to work properly, and end up requiring us to re-implement them in an extremely tacky way.

Q. "Why do you resent that?"

A. Because it increases the level of frustration in my life by an unhealthy amount.

Q. "Why is the frustration unhealthy?"

A. Because in the back of my mind, I'm thinking, "I shouldn't have to write all this last-minute crappy code."

Q. "Why do you keep thinking that?"

A. Because I want to believe that my job is to do things in the most efficient & simplest way available.

Some people may have stopped here, at the fifth why, but I believe the sixth and seventh are the most telling:

Q. "Why do you want to believe that?"

A. Because it makes me feel smart, like I have some kind of advantage over others. Because it means I can accomplish more with less code.

Q. "Why is that so important to you?"

A. Job security? Sense of control? Dunno.

Again, don't get distracted by my singling out of SPA. Burnout is clearly not associated with a certain technology. I found in my research on burnout that many people in the late 2000s felt the same way about MVC and REST (my chosen architecture) that I do about SPA. I also found a very enlightening burnout story by a somewhat famous open source contributor at 37 Signals, the origin company of my tech of choice, Rails.

I have also read some other people's stories leading me to learn some general theories about the causes of burnout. There seem to be two main causes leading to burnout in IT: 1) unpaid overtime 2) project failure.

An oft-reposted HN comment comes to mind: "Burnout is caused when you repeatedly make large amounts of sacrifice and or effort into high-risk projects that fail."

However, when I research in other industries with burnout problems, I find different causes. For example, in medicine, many people point to 1) over-computerization and 2) debt, which don't really apply to IT. The common thread there is an underlying feeling of resentment with one's job related to a misalignment of one's self-interest with the corporate interest.

This misalignment should not come as a surprise to anyone who receives a paycheck for what they do. But we (programmers) are continually shocked by this. We expect for our "passions" to lead us around our 9 to 5, even when we know better. Why?

I am going to be taking most the other advice left here by these kind souls as well. But I wanted to leave a follow-up, before replies to the thread are locked, in the case that someone, somewhere can benefit.