I enjoy it, but only if I'm treated with respect, not micro-managed, and trusted to do my job. Ironically when managers set deadlines and add process, it demotivates me and the code ends up shipping later. The silver lining, however, is that I learn what not to do if I decide to start my own company (I have a note on my PC called, "Mistakes from previous companies that you shouldn’t make"). So in general, even if I'm unhappy at a job, I try to consider it a learning experience and move on to the next thing.
Edit: I should add that working remotely has been absolutely fantastic and adds to why I enjoy being a programmer. I feel lucky to work in a profession that allows this amount of flexibility.
Edit: I should add that working remotely has been absolutely fantastic and adds to why I enjoy being a programmer. I feel lucky to work in a profession that allows this amount of flexibility.