The highest earning careers generally* are medicine, law, and finance. For medicine, you'll need a specific major (biology and chemistry, usually). For law, you can have any major. For finance, you can have any quantitative major. Thus, I'd recommend you either go medicine or not medicine and pick either biology/chemistry, math/economics, math/computer science, or economics/computer science for your major, depending on skills and interest.
Don't worry as much about overloading your coursework as getting good grades in your classes. High GPA matters a lot for law, and somewhat for medicine and finance. Law and finance don't really care too much about what your majors are or what specific classes you've taken.
Take internships as often as possible. I think it's better to take more prestigious internships than internships relevant to your field, but I could be wrong about that.
~
Networking. Stanford's statistics on how 2011-2012 graduates found jobs indicates that around 29% of them got jobs through networking.
This is important, yes. Put some thought into it, but if you're doing things right, in my experience, it should evolve largely naturally. Just make sure to record who you've met and some guesses as to how they could help you. I have a spreadsheet.
~
Some way of signalling leadership skills? Maybe I could try to get into a leadership position at a student club or something.
Yes, plus self-direction and management skills, which are more important. Take a leadership position because you're passionate about the club, though, not for overt signaling.
~
Honors programs, or doing research. Do employers care about this?
Depends on the employer and the research / program. Generally these can be high prestige, which is good. But a trading firm probably won't care about your english literature research or research on fern mating cycles, etc. Good research projects do demonstrate you can write and think quantitatively, though, which could be an asset.
~
*This might be naïve though, because it doesn't factor in cost of living, social environment, cost of school (especially law and medical school), or amount of hours worked. On a per hour basis, I suspect these jobs aren't as high income as they seem.
You left out entrepreneurship, which is (expected value) financially better than law or medicine for people with the right profile for all three.
I'd like to solicit advice since I'm starting at Stanford this Fall and I'm interested in optimal philanthropy.
First off, what should I major in? I have experience in programming and math, so I'm thinking of majoring in CS, possibly with a second major or a minor in applied math. But switching costs are still extremely low at the moment, so I should consider other fields.
Some majors that could have higher lifetime earnings than straight CS:
Thoughts?
Stanford actually has salary data for 2011-2012 graduates by major. CS has highest earnings, by quite far. The data is incomplete because few people responded and some groups were omitted for privacy, so we don't know what e.g. petroleum engineers or double majors earned.
Should I double-major? There are some earnings statistics here; to summarize, two majors in the same field doesn't help; a science major plus a humanities major has lower earnings than the science major alone; greatest returns are achieved by pairing a math/science major with an engineering major, which increases earnings "up to 30%" above the math/science major alone. I'd guess these effects are largely not causation, but correlation caused by conscientiousness/ambition causing both double majors and higher earnings.
I could also get minors. I'm planning to very carefully look over the requirements for each major and minor, since there do seem to be some cheap gains. A math minor can be done in one quarter, for instance; a math major takes only a bit more than two quarters.
I have a table with the unit requirements of each combination of majors and minors. Most students take 15 units a quarter. Here are some major/minor combinations I could do:
Cal Newport argues that this sort of thing a bad idea because hard schedules do not actually impress employers more.
Would employers care about double majors in undergrad if I also get a graduate degree? I will do a master's degree or a PhD, partly because those make it a lot easier to emigrate to the US. (I'm from South Africa, which doesn't have much of a software industry.)
What other things could increase earnings?
Many thanks for all advice given!
EDIT: I used a scoring rule to rank all combinations of majors and minors in CS, math, economics and MS&E (management science and engineering) according to practicality and estimated effect on earnings. Unit estimates include all breadth requirements etc., assuming I don't take stupid courses. Here's the top 20; the top 10 all look pretty good:
Another option is to major or minor in M&CS (mathematical and computational sciences) instead of math or CS separately.
EDIT 2: Here is a graph of graduates' salaries by major. Y-axis is salary of 2011-2012 Stanford graduates. X-axis is degree: 1 is BA/BS, 2 is MA/MS, 3 is PhD; intermediate values are for groups containing two degree-levels. The sample size is tiny because only 30% of students responded, and some groups were omitted for privacy.