Career Help: Hardware Development or Software Engineering?

<p>First off, hello to all the forum users. I've been here a few times but haven't posted- so maybe I should post a little background info.</p>

<p>I'm a 15 yr. old HS freshman who hopes to go to UNC Chapel Hill (in-state,) earn at least a masters in either Software Engineering or Hardware Development, plan on going to participate in a Microsoft Internship at some point during (or maybe after,) college, and also am strongly considering joining either the US Army or Air Force after I earn my degree.</p>

<p>Now, with this said, taking salary, job availability, GROWING POTENTIAL, and the normal such into consideration, which do you think would be better, software or hardware design? I've been building and playing in and on PC's for as long as I can remember, (I was probably around the age of 5 when I started,) and have an extensive knowledge of hardware, in fact - building PC's is kinda' a hobby of mine. I also have designed and run my own websites, and have also dipped into C# programming a bit. I personally think that I like Hardware design better (which also may go well with my passion for gaming,) but I haven't really been able to get elbow-deep in computer programming. I'm very good with math, solving puzzles, etc etc... but I can't decide. I know there are more jobs in software, but many require nothing more than a 2 year degree from a community college or something of-the-sort. I considered 3D programing for games at one point, but I tried it and found I didn't like it.</p>

<p>Really, to sum it up, I guess I'm looking for this:
I want to be able to make at least 100,000 annually after I get about 10 (or maybe more,) years of experience under my belt, </p>

<p>I don't want to get into a dead-end job - the ability to move up the corporate ladder is probably my number one priority, as if you can make this happen I can eventually earn the salary that I want,</p>

<p>I would like to be able to choose were I work, and not have my work tell me where I must live,</p>

<p>I also want something that offers a good starting salary,</p>

<p>but I also want something that I can go into the military with, and run with it if I wanted to...</p>

<p>This problem's actually been bothering me for a while, and while for a bit I decided I would go with computer programming simply for the pricetag, I really like hardware, and would love the chance to get to DESIGN the hardware - however I don't really know enough about software to decide. I'll hopefully get into some programming on my own once school gets out for summer, but I really don't have time now. Plus I need car money. =D</p>

<p>Also, sorry if I got this in the wrong section, it's the only part I found for Careers.</p>

<p>Congrats on having a plan at an early age. Your choice of major will be computer science (CS) (software) or computer engineering (CE)(hardware.) I am not familiar with UNC, so I will just tell you a little bit on how things are at the University of Michigan. I'm an electrical engineering major, but EE and CE are close in scope, while CS makes up the other half of the department.</p>

<p>It is tough to tell you about the job market, because things suck right now. But I can say that both CS and CE majors out of Michigan are paid very well, with starting salaries for graduates over $70,000. Fair warning though, your experience building computers is probably less relevant than you think. And for these types of majors, knowing how to program at a high level is a fact of life. If your high school offers classes in C++, Java, etc. I strongly recommend you take them. Good at math, problem solving, etc. applies to computer science more than engineering.</p>

<p>Six figures ten years out of school as a CS/CE major seems likely...as for climbing up the corporate ladder, etc. it is difficult to say. Better make sure you have great social skills...I tend to see CS/CE guys as code monkeys who sit behind a computer screen for 20 hours per day. Don't get me wrong, CS/CE majors make great money, but I see a CS major as less likely to shoot up the corporate ladder than other majors.</p>

<p>Thanks for the reply bro. </p>

<p>Yeah, I'm normally pretty good with my social skills. Easy to get along with people, fairly good at making new friends. I'm also, imo, good at interviews, despite being nervous most of the time.</p>

<p>Unfortunately, my school doesn't offer any programming classes. I would probably be able to take them at our local community college next year, though. In fact, we're not even required to take computer applications (e.g. MS Office, etc.) during high school anymore, (i go to a K-12 private school.)</p>

<p>Due to the fact it's a private school, it means limited classes due to it's limited size. It also means we're lower on the chain for a state-run college such as UNC. However in the past two years we have had three people accepted, which before would almost never happen. So, maybe I'll get lucky. =D
I also know my knowledge in building computers doesn't really apply to computer engineering, but it does show to some that I'm not just a n00b who says 'I'm smart, I wanna' build computer stuff." I've been around the hardware and partially know how it works. </p>

<p>Thx again. :P</p>