<p>College is coming up in a few years and I am considering what I want to major in so I know what classes to take and which clubs to focus on. The 3 things I want to major in are...</p>
<ol>
<li><p>Computer Science - This my number one option because I really like math and computers and want to become a software engineer when I grow up. I am taking all my high school;s cs classes even if I don't major in it because I enjoy it. As I understand it, computer science provides you with many options after college and they get payed the most (this isn't a big factor). Also, I dream of having a start-up software company in Silicon Valley. </p></li>
<li><p>Aerospace Engineering/Mechanical Engineering - I am very interested in engineering; I wanted to be an engineer ever since I was little. After some careful consideration, I decided I want to design things in space such as satellites or spaceships, or possibly aircraft. But I heard that aerospace engineering is very specialized and you don't have a lot of job security, so I'm considering mechanical engineering so I get a broader skill-set.</p></li>
<li><p>Physics -I really enjoyed my high physics class and started thinking about a career in physics. If I go into physics, I will try to get a Ph. D and become either a theoretical or experimental physicist. </p></li>
</ol>
<p>Whichever field I decide, I want go to one of the top universities for that major - I am an extremely hard working student with really good stats IMAO. I realize that I don't have to make a decision now and I can always change my major, but help will be appreciated.</p>
<p>If you want to get into a top school, make sure you’re taking the hs classes they want to see. You might find that they’d prefer to see hard maths, English and physics rather than computer science (although you’d think it’d be more relevant). If that’s the case, keep up your interest in your clubs, home projects and entering competitions. </p>
<p>A minor reality check on the physics front- the idea of being a theoretical physicist is cool even if you can’t change a light bulb. However, employment opportunities for science PhDs are surprisingly sparse. Just now at least. And getting your PhD can be a tortuous affair- take a look at phd comics to hear it from the coal face. </p>
<p>However, these days few jobs will offer the career security of even a few years ago. Don’t see it as something to fear. See it that as you mature and develop new interests you’ll have more freedom to move sideways. The employment situation could/should be much improved by the time you graduate. And some jobs you’ll have open to you in your working life haven’t even been invented yet!</p>
<p>For US employment statistics, the Bureau of Labor Statistics is an invaluable resource. Check out the their Occupational Outlook Handbook, for instance.</p>
<p>I’d echo the above advice: take the most challenging and stimulating courses you can in high school. These may be CS courses, but most probably will be more “core” classes like advanced math, physics, English, history, etc.</p>
<p>Just remember…</p>
<p>The #1 best attribute to have in software engineering is the ability to stay current on the technology. The are a TON of software engineers with 20+ years experience from Southwest “Fill in the State” University.</p>
<p>For all three of these majors, a high school student should take the most rigorous high school courses offered, particularly in math and science (but don’t neglect English, history, foreign language, and arts), in order to prepare for the course work in any of the three majors in college.</p>
<p>Computer Science - go for it if you have the ‘talent’ for it, and enjoy developing code.Take AP CompSci and see if coding comes natural to you. If so, go for it.</p>
<p>Aero Eng - my favorite major. Unfortunately we have way too few defense/aerospace companies so the employment picture is iffy</p>
<p>Mech Eng - The best option in my view. Widely applicable skill set.</p>
<p>Physics - noble, but employment wise very iffy.</p>
<p>Just personal opinions of a practicing engineer/CS type.</p>
<p>^ Why do you say ME is a more applicable skill set than CS? IMO CS is just as broad, if not more broad than ME. CS can work in software, finance, aerospace, pharma, consulting, etc. It’s also very easy to be self-employed with CS.</p>
<p>Most of the fields you listed for CS are IT related - with constraints, regulations, and the like. I’m CS/UX and work in engineering R&D, but CS majors are about as common in my building as unicorns. My wife is CS/AS/IE and while she has worked in software, finance, pharma, electronics, and consulting, her job stability after 3 decades (of staying current, mind you) has required considerable more work than mine.</p>
<p>In other words, I manage to do well with 40 hours a week while she does well with 60+ (anything from long hours to collaborate with her off-shore buddies, long hours to deploy or test systems, long hours to teach said buddies what to do, and so on). If she worked 40 hours a week she’d be unemployed in a month.</p>
<p>In other other words, CS people shot themselves in the foot when they kept working and working and working and working and working and working for free back then to show that they’re worthy of them high salaries, while we engineer types knew when to punch in and when to punch out. I’ve only worked overtime a few times and we got paid each and every dime of it as overtime. Today, unfortunately, even working 60 hours a week will not be sufficient to prevent a job from being sent overseas (where it will be likely done by 3 people costing as much as one here, etc etc).</p>
<p>Sorry for the obfuscated answer, but I guess the short answer is “if you feel you can get into GAFAM and the like, or similar doing non-IT CS work, go for it. Otherwise…”</p>