I've read "Code Complete", "Clean Code", "Extreme Programming Explained" and thought that "real" developers solve interesting problems and write maintainable and high-quality code covered by unit tests. I was wrong.
"Real" development and "real" products are crap. When you develop an internal tool you do it because of necessity. In contrast, when you develop a new feature for a "real" product you do it because of a manager's whim. After two years in web development and after reading HN I conclude that "real" development almost always goes together with inadequate deadlines, shitty requirements, and high level of stress. I'm one step away from burning out.
I want to change something in my career. Should I move back to Automation QA/Programming of Internal Tools? Have you had the same problem in your career and what decisions have you made?