But the thing that I have most learned from this group is that tech jobs are incredibly awful, which is why they have to pay well. I would never recommend that anyone pursue a degree in that unless the truly do have a passion for, because it seems to be awful work.
You're the first person I have heard say that.
Programming and architecting a system requires an incredible amount of creativity. It requires an awful amount of initial mental investment to become good at it. That is true for anyone - the teen hacker who coded from his teens and the adult learner who learned coding in her 20's and 30's. I should know because I was the former and my DW is the later. Once you are over the *extremely steep* learning curve, programming is extremely rewarding.
The above does not mean you can't get stuck with mind-numbing "process" jobs in tech, or that you won't have to deal with political bs. But that is true for any job. With a tech job, the core part of the job itself is very rewarding for almost anyone who is good enough to get a job in a decent paying organization and keep it!
Yes, if you can't get over the "extremely steep" learning curve, and still try to survive in tech, then your life will suck. The tell generally is someone who has learned to debug, but can't build a new, reasonably complex system from ground up on his/her own given the appropriate amount of time. I have even worked with some of them. They don't tend to last very long at a single place and their resumes tend to start showing the pattern. When presented with a resume showing this kind of a pattern, I generally tell HR to decline the candidate without even interviewing him.