<p>I'm an EE who is doing the digital option (a lot of embedded stuff with some C/assembly programming..) and has taken a number of CS electives. Based on how I plan out my schedule I assume that I will be about as competent in software as in hardware. In other words I could enter either industry at about the same level, or I could after graduation specialize in either CS or EE depending on which industry I want to go into.</p>
<p>I'm still thinking about whether to enter the software or the hardware industry..the thing is, I hear that software pays somewhat more than hardware. There are also more jobs in software, and the industry grows at a higher rate than hardware. Plus, there are more entrepreneurial opportunities within the software world, in my opinion, such as creating startups.</p>
<p>Now, without considering outsourcing (because I think its overrated), could anyone give me any advice about which industry is better? I sometimes feel hardware is a better path because a lot of people who go into software don't even need degrees and really lets face it, most software developers don't really apply math or physics to solve problems on a regular basis. Also, sometimes the line between CS and IT begins to blur and I consider myself more of the engineering type. I guess it might make me an elitist but I'm an ambitious guy who wants the field I go into to be challenging and, to really make the most of my education and abilities. Then again, in every quantitative sense software seems to be a better industry. So thoughts? Projections about these industries in the future?</p>
<p>
[quote]
the thing is, I hear that software pays somewhat more than hardware. There are also more jobs in software, and the industry grows at a higher rate than hardware
[/quote]
</p>
<p>Software doesn't really pay more than hardware but you're right that there are probably more software jobs than hardware jobs. But these jobs are in many different industries. Writing banking software isn't that glamorous.</p>
<p>Pay-levels vary by region and industry. In my area, hightech startups tend to pay less salary than established 'traditional' companies (like defense contractors) -- that's just part of the compensation-package gameplan employers tweak to bring in the talent. (In today's stockmarket, I cringe at any employee who chose stock-compensation instead of cash-compensation...)</p>
<p>Outsourcing has already and will be reshaping the work relationship between the service-provider and consumer. Job security is a myth, especially in the industry. It makes the most sense to focus on work which gives you 'transferrable' job skills -- i.e. something that opens doors in the future, in case your current job is eliminated. Unfortunately, it's hard to predict industry trends -- everything is a moving target.</p>
<p>For example, I'd advise against taking a COBOL or FORTRAN job -- but the flipside is that there's millions of lines of code (written in both) that have to be maintained and audited, so neither skill will disappear entirely ...</p>
<p>
[quote]
For example, I'd advise against taking a COBOL or FORTRAN job -- but the flipside is that there's millions of lines of code (written in both) that have to be maintained and audited, so neither skill will disappear entirely ...
[/quote]
</p>
<p>That is a good point though I highly advise against taking classes for either simply because companies are moving away from those languages.</p>
<p>I have another question.
Well, lets consider that I pick the EE route.
At my school, students can pick from a variety of concentrations.
Suppose that I chose a very specific one such as Wireless Communication and really learned everything there is to know about this in the undergraduate level, and then went on to do graduate studies in this specific field.</p>
<p>This means I have a very in-depth, specific knowledge of a very particular field. Would this increase my job prospects because not many other people know that field in great depth? Would my income be higher?</p>
<p>I know these are really tough questions to answer and I really appreciate everyone who's given me their advice.</p>
<p>
[quote]
This means I have a very in-depth, specific knowledge of a very particular field. Would this increase my job prospects because not many other people know that field in great depth? Would my income be higher?
[/quote]
</p>
<p>In that specific area of course it would increase your job prospects.</p>
<p>
[quote]
Suppose that I chose a very specific one such as Wireless Communication and really learned everything there is to know about this in the undergraduate level, and then went on to do graduate studies in this specific field.
[/quote]
</p>
<p>Even people who've worked in fields such as wireless communication for years do not know everything about them. The industry is constantly changing due to advances in technology. Public policy also affects how (and even if) certain technology is deployed.</p>
<p>I would also say that you can find (or create) challenges in software that are equivalent to those in hardware.</p>
<p>Well, if you guys think I'll distinguish myself in the software industry just as much as in hardware, then I might as well go in that direction due to the fact that there are more jobs, more growth, a higher income, and more entrepreneurial opportunities.</p>
<p>Go with whatever interests you more there will always be jobs for talented people with a passion for what they do. If you want to work on software that is great but don't do it just because you think you'll be more likely to get a job and make more money. You'll really find yourself hatin your job, especially in the software industry.</p>
<p>I don't really believe people who claim that they are really interested in one thing but have no interest in a relatively similar area. I'm a science/math guy and I would enjoy working in anything from EE to Physics, CS, Math, etc etc. I really can't understand why someone would LOVE to work in software but hate hardware, for instance. </p>
<p>Therefore my decision depends on which industry would help me become more successful..but judging from your answers I guess it makes no difference. No one really wants to give me any quantitative data.</p>
<p>
[quote]
I don't really believe people who claim that they are really interested in one thing but have no interest in a relatively similar area. I'm a science/math guy and I would enjoy working in anything from EE to Physics, CS, Math, etc etc. I really can't understand why someone would LOVE to work in software but hate hardware, for instance.
[/quote]
</p>
<p>Well believe it, just because someone enjoys designing circuit boards doesn't mean they would enjoy writing bank software. </p>
<p>I personally enjoy working with hardware and writing software on the hardware level. I enjoy designing embedded systems and programming microcontrollers. Hence why I majored in Computer Engineering. I am NOT interested in writing enterprise software in Java or C++.</p>
<p>The argument of whether software or hardware will be more secure or demanding will never have a solid answer. People will continue to make good points on both sides, and only time will tell (and it might not; there may never be a conclusion). </p>
<p>I had to make this same decision; you really just have to see where your interest lies. You have the ability to market yourself in whatever way you see fit, and if you really are ambitious I think you'll find that you'll exceed your own expectations whichever route you go.</p>
<p>
[quote]
Writing banking software isn't that glamorous.
[/quote]
</p>
<p>This is not true. You are lucky if you are on a team designing software for financial industries. Banking and financial software requires a lot of architecture and thinking. The industry pays very well too.</p>
<p>Which do you like better? Do that. You'll make more money and have better job satisfaction that way. If you do something just for the money, you'll never be as good as the guy with the real passion.</p>
<p>Thats the thing- I don't know which one I like more.
I like them both equally and could get an entry level position in either industry.</p>
<p>I haven't taken the bulk of my EE courses yet...so I guess i'll just think further about this when i'm closer to graduation. Its just...the courses don't tell the whole picture about the industry.</p>
<p>I know a lot about the software industry actually. I understand that you can do amazing things with software, but I am sick to death of lame IT jobs/internships where I configure SQL databases and write ASP.NET server side code. This is NOT what I want to do for the rest of my life...if I become a programmer I want to solve deep programming issues or design original, complex software from the beginning stages to deployment. Not just another lame web form, which is why I am a little disillusioned with software. </p>
<p>My concern is: what equivalent pitfalls are in the hardware industry?
No one is really honest enough to give their uncensored opinions because they're afraid that they will overgeneralize their own experiences, I think, and say something which isn't necessarily true. But really, I just want to hear your gut instinct. I wish you guys would be less diplomatic with your answers :)</p>
<p>Thanks again guys. Oh and JoeJoe05, thanks for your explanation; that makes sense.</p>
<p>Your experience with the software industry is probably a combination of your lack of experience (not to demean you; it's just that companies wouldn't trust an intern with anything exceptionally vital... this could explain why they give you web forms, etc.) and your choice of companies (if you don't want to do web programming, it should be possible to find some that don't have you doing that... something in manufacturing, maybe, or defense). I think your experience is pretty standard and shouldn't turn you off software.</p>
<p>On the flip side, I'm sure that if you got an internship doing hardware at certain places, you would find that you didn't get very exciting jobs there either. They would either have you work on toy projects, or small non-critical parts of larger projects. This might involve writing / editing technical documents, procuring / managing equipment and components, inter-group communication, assisting in labs, etc. I doubt they would say "I need a box that does such-and-such that is subject to such-and-such conditions in the next such-and-such amount of time," slap the requirements document on your desk, and put you alone in a room.</p>
<p>In summary, I think most internships period will not give you too much autonomy. I think the idea is that internships give you experience, and then a job will give you more experience, and the more experience you get and the more you prove yourself, the more the people will trust you with. So 20, 10, or 5 years down the road, they will just slap a requirements document on the table and say "do it". I imagine this is how it works in any engineering discipline.</p>
<p>Thanks a lot, AuburnMathTutor. Really appreciate your advice.</p>
<p>So in short: I can conclude that comparing the hardware and software industry, one isn't much better than the other in terms of prestige, financial compensation, job security, engagement in work, and career advancement possibilities.</p>
<p>If anyone disagrees, I would love to hear your opinion.</p>