If you're interested in maximizing income, I would rule out pre-med. It's sub-optimal preparation for any career except medicine, and medicine is sub-optimal for income. A few reasons:
Salaries are essentially capped by reimbursement rates and man-hours. The best surgeon in the world isn't going to make more than a few million a year doing elective surgeries twelve hours a day year round.
The things that generate the most income for rich people with MD's, patents and start-ups and C-suite gigs, don't require the MD credential. There are better stepladders. The possible exception is medical celebrity, but the odds of you being the next Dr. Oz are extremely low.
The average physician makes far less over his lifetime than he could applying the same horsepower and hours worked to, say, finance. It's a fairly straightforward back-of-the-envelope calculation. In addition to losing seven to ten years of income after college (residency only pays a little above living wages) and possibly incurring $250K in student debt when money means the most due to time-value, you'll graduate into a market absolutely determined (for very understandable reasons) to bend the healthcare cost curve down and pay doctors less. American doctors are currently paid much, much better than doctors almost everywhere else in the world, due in large part to guild-like protections, and this cannot continue indefinitely. Globalization's already lined up to crush radiology and elective surgery, two of the better-remunerated fields, and IBM would very much like to put oncologists everywhere out of a job. Another half-dozen specialties are in turf battles against mid-level providers like nurses.
All that said, I highly recommend medicine. Just not for optimized philanthropy.
Edit to add: WRT networking, it's kind of a suitcase word. Lots of people talk about it. I am sceptical that public speaking and improv classes are the best places to meet the best networking prospects, though they might be excellent for meeting interesting people. Athletes typically do better than the mean at Stanford-type schools in terms of career earnings, despite lower HS GPAs and test scores. If you're not currently a recruited athlete, you might still be able to walk on to the crew team or ultimate team.
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.