I just moved cities and my confidence has taken a big hit, I underestimated how important having a network of people to hang out with was to me. What's more is my girlfriend I lived with for the last year broke up with me. We both had our own plans after the move, got in each others way, became dissatisfied, and split. I am a bit isolated mainly because I want to be, in order to rebuild my confidence on something that's hopefully less fragile than whatever it was before.
On my career as a programmer, well we all have to start somewhere. I chose it because I thought every job will pretty much suck and I might as well get one that would let me move anywhere in the world and work. Every office job is pretty much the same anyway, you sit at your computer, sit in meetings, hang out with coworkers, and end the day at 5. Something I realized later is that coworkers make the job for me, meaning working with people I like is pretty much a necessity, and I tend to like other programmers. Another thing is that I'm fairly gifted in math and language, and I can juggle several things in my head at once, so programming in itself is something I can do fairly well. The reward comes from having made something that is of some value to someone, as well as feeling competent and valuable myself.
Maybe I will stop writing code if I ever get burned out or find better opportunities, but over the next 4-5 years I think I'm going to stick with it. It certainly helps that I like my current job. I'm certainly faring better than many people in my age group. I know at least 4 other ESFJ programmers, and one quit to become a catholic monk after 5 years, while the others are still programming as far as I know. I don't think it's privy to NTs or any other type for that matter. Programming is a big enough field that every type should be able to find their niche.