Speaking from my experience... I'm a CS major as well, now on my second "real" job. My first was working for a large construction equipment corporation. Generally, I didn't dislike the job and the pay and benefits were pretty good.JazzJackRabbit wrote:The more I think about it, the more I realize how underpaid Engineers are, especially in CS. The abundance of software tools that ease software developing as well as common perception that computers are nothing out of the ordinary and any 8th grader can write software makes people unappreciative of one's work and therefore salaries.
I left because a great opportunity came up. I was ready to leave and pursue this opportunity because, in five years at the first company, despite continued growth in pay and responsibility, my authority never grew. I found it extremely frustrating to have more and more responsibility without any real power to get things done---the job became increasingly more Dilbert-like, and I could see myself going from "funny" cynical to really cynical.
Now I'm at an upstart finance company. This and your comment above are what prompted me to post this reply. If you want to get paid a lot for your CS degree, go to the finance industry! But the work is very hard, and the hours long. But I'm no longer faced with insurmountable bureaucracy, and I have real ownership in my work.
Regarding your comment, "the abundance of software tools that ease software developing as well as common perception that computers are nothing out of the ordinary and any 8th grader can write software makes people unappreciative of one's work and therefore salaries": I've always felt like I've been fairly compensated, but I do agree with your observation, that there is a perception that anyone can do software development. I think another huge contributor to this idea is the whole outsourcing movement. That was another huge reason I left the previous company: I was being shifted from a software developer to an offshore development team project manager. I didn't fear losing my job---I just didn't want that job. I don't think outsourcing is necessarily all bad, but you've got to outsource to people who have experience in what you're doing. The application for which I was previously responsible was a large C/C++ application. Our offshore team didn't have any C/C++ programming experience. And this was supposed to save money!
To the original poster: I think EE is probably a good career path, but, you have a high likelihood of ending up at a desk for the majority of your day. This is how it was for the engineers at my previous employer: very, very few of them got to "get their hands dirty" on any regular basis. And an increasing number were being transitioned into jobs like mine: managing low-cost offshore engineering projects. I'm not trying to discourage you from this course---just be careful about selecting the "right" job.
Good luck!
Matt