I work at a big software company that treats its workers well. My product is well-respected in its niche, and I'm working on features that will make our customers happy. Nonetheless, I find it almost impossible to give a crap about the code I'm writing.
This doesn't really matter when the work is easy; I can do it on autopilot. But as soon as I encounter a tricky design problem, I want to give up because I don't care about the product enough to put in the effort.
I might switch jobs, even though I've only been here 6 months and would probably burn bridges by leaving. But, short of that, do you have any tricks to motivate yourself in this type of situation?
2. Enjoy side projects.
3. Learn new techniques/tools/languages/skills along the way.
4. Seek more direct interaction with beneficiaries of your work.
5. Take pride in getting shit done for any value of shit.
6. Introduce new, advantageous tech to project.
7. Request employer sponsored training.
8. Represent employer in standards efforts.
9. Request different assignment.
10. Shift entirely or partially to management/sales/marketing/support/operations/research or another tech group.
11. Mentor junior developers.
12. Begin to plan to leave (for new a corporate job / consulting gig / startup).