Parent poster basically won the internet award for the day, heed his words.
Programming at it's core is creative work, and if that's what you love you need to stick with it a form that fulfills your passion and talents. For example, with your time in the field consider if you have what it takes to do more senior development work:
- it's not management though you will be responsible for code review and progress meetings
- you're less code-monkey and more architect which lessens the burden of bringing peak knowledge of new languages to the table
Q/A is also a relatively good side of things to consider. You need a functional understanding of code, but the work focus is shifted to your analysis skills on how real-world scenarios will beat the living tar out of someone's project :)
At this stage you're going to want to recognize your experience with software and the environments they run in as much as being able to make f(x)=y. It's very honest to recognize that you're not a people person, but that doesn't mean well-paying specialist jobs like what's above are out of your reach.
-Matt