Among all the non-programmers I've talked to about work, I've never found one who doesn't have to deal with some sort of constant, repetitive negative feedback. Teachers have to deal with some kids that simply won't stop acting out, and who continually perform poorly on assignments (not to mention parents happy to tell them everything that the teacher is doing wrong). The salespeople have countless deals they fail to…
I sort of realised eventually that given how expensive going to university is now (9x more expensive than when I went), I'm not necessarily going to be teaching the brightest and best. Instead, I'll be teaching the brightest and the best who also have the willingness to get massively in debt and/or who have rich parents willing to pay for it all. Suddenly, the important moral purpose disappears, and you are left with: well, I could get paid the same amount in about five years time as I get paid now to write code. Why do I want to do this?
And I kind of like software as an industry. It's not perfect: there's douchebags and posers and so on. But it's reasonably recession-proof, it's not on a doomed-path-to-hell like lots of industries, it often lets me work on quite interesting problems (often having some satisfaction doing it), most of the people are pretty nice, the bureaucracy is minimal (for me anyway) and the pay is decent. The main downsides: RSI and those nagging calls from my parents about how Google Fireface isn't talking to their printer. The latter is a trivial problem and the former is mostly fixable by posture adjustment and exercise.
Life is pretty good.