Possible Duplicate:
I no longer want to be a developer
This might seem like an odd question, but I think I've just about had it with programming. I used to enjoy back when I was 11 years old (I'm 31 now), and I actually got to be really great at it at an early age. In high school, I had already knew c++, design patterns and all sorts of things and was building fairly sophisticated stuff.
Then web development became all the rage, and like a lot of people, I sort of got sucked into that - to the point where that's all anyone really wanted. To be honest, I've never liked it.
After learning so many technologies and languages year after year, I'm a little sick of relearning the same sorts of things that I knew how to do before but differently. I am sick of learning the new bugs, design errors and idiosyncrasies of the new technologies over and over again. Sometimes it seems like we are regressing rather than progressing.
The amount of languages you need to know just to get a web application up and running now is just disgusting. It's way more bloated then it should be.
Things have just gotten a lot more complex now too. While I appreciate a lot of the frameworks out today that try to make your life easier, it seems that debugging and knowing what's going on has become a lot harder. I've never come across more bugs in other people's code than I have in the last 1.5 years in my entire 15 years of programming. It is annoying, it sucks out a ton of my energy.
I am just not passionate about this anymore. Learning and working with the technologies for their own sake is just a means to an end - it's not fun. I actually don't care about any of it anymore.
Despite how simple things some things have gotten, it is amazing how trivial problems blow up into solutions that require 4 or 8 hours to fix... and these things have nothing to do with your actual application requirements - it's just fixing crap that other people got wrong.
We're also in a era where frameworks and libraries need to hype their tools and they need to prove to you how easy they are compared to things that have come before... but they almost always make you jump through a billion hoops to doing something complicated. By the time you figure out how to achieve the complex requirements in the new tool, you've lost a lot of time that was more-or-less equivalent to the time it would have taken in the old technology. So what was the point of learning the new technology in the first place? While the old technology required more code, it was more generic and flexible.
You could argue that learning the new quirks for these complex requirements build intellectual capital that can be used later, but by the time you need to utilize this knowledge a second time, there comes yet another new technology that makes this knowledge obsolete.
With websites basically needing to be super rich client applications now, these beasts have become extremely hard to test. No longer can you just write the bulk of your code in a single language, and getting amazingly good at Javascript seems like a monumental task all on its own. We are in the era of mass specialization now, and that doesn't interest me because any projects I want to work on, I have to do by myself.
How do I get out? I have decided that I'm just done with it all. I really want out. I have just invested so much time and energy into being a great software developer for most of my life, it seems sad that I'm basically going to throw it all away.
EDIT
After reading some of the comments, I think these are also problems.
1) Burnout. Regardless of how long I take a break, I have no interest in working on programming stuff when I need to start back again.
2) Not caring about writing "good" software anymore like I used to. You don't get rewarded for doing a job better than 99% of the programmers out there. Nobody cares if you do it well either. It's actually kind of amazing that skill and craftsmanship and care is not a value to most people in this industry.
3) Boredom. Writing mindless queries, business logic and pumping data to a view for so many years is just not interesting. After working on 1500-2000 database tables and the application logic that worked on them, I don't find any of this kind of stuff interesting or challenging.
4) Producing value. Nothing I work on really matters. Sure, it matters for the clients, but it doesn't really matter to me.

