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:
- Petroleum engineering. Would non-oil energy sources cause pay to drop over the next 40 years?
- Actuarial math. If I understand correctly, actuaries had high pay because they were basically a cartel, artificially limiting the supply of certifications to a certain number each year. And I've heard that people that used to hire actuaries now hire cheaper equivalents, so pay could be less over the next 40 years.
- Chemical engineering, nuclear engineering, electrical and electronics engineering, mechanical engineering, aerospace engineering.
- Pre-med.
- Quantitative finance.
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:
- If I take 18.8 units a quarter, I could double-major in CS and econ.
- If I take 15.8 units a quarter, I could major in CS and minor in math and econ.
- If I take 15.4 units a quarter, I could double-major in CS and math.
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?
- Doing an internship every summer.
- Networking. Stanford's statistics on how 2011-2012 graduates found jobs indicates that around 29% of them got jobs through networking.
- Better social skills? I'm planning on taking some classes on public speaking, improv, etc.; what else should I do?
- Some way of signalling leadership skills? Maybe I could try to get into a leadership position at a student club or something.
- Honors programs, or doing research. Do employers care about this?
- Following the advice of Stanford's Career Development Center, for instance about how to prepare for career fairs, using their internship network, making appointments with their career counselors, etc.
- Studying abroad. I'm already studying abroad by going to Stanford, so this is probably less valuable for me than for most students, though it still seems likely to be worthwhile. Stanford has a Washington program involving internships and classes taught by policymakers, which might be worth doing. Both these would make it harder to do multiple majors and minors.
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:
CS | Math | Econ | MS&E | Total Units | Units per quarter | Hours/day | |
minor | minor | MAJOR | minor | 198 | 16.5 | 7.1 | |
MAJOR | . | minor | minor | 207 | 17.3 | 7.4 | |
minor | . | MAJOR | minor | 189 | 15.8 | 6.8 | |
minor | . | MAJOR | MAJOR | 216 | 18.0 | 7.7 | |
MAJOR | minor | minor | minor | 216 | 18.0 | 7.7 | |
minor | MAJOR | minor | minor | 183 | 15.3 | 6.5 | |
MAJOR | . | . | MAJOR | 199 | 16.6 | 7.1 | |
minor | MAJOR | minor | MAJOR | 210 | 17.5 | 7.5 | |
minor | minor | minor | MAJOR | 180 | 15.0 | 6.4 | |
minor | MAJOR | MAJOR | . | 202 | 16.8 | 7.2 | |
MAJOR | minor | minor | . | 190 | 15.8 | 6.8 | |
MAJOR | minor | . | MAJOR | 208 | 17.3 | 7.4 | |
MAJOR | MAJOR | . | minor | 211 | 17.6 | 7.5 | |
. | minor | MAJOR | MAJOR | 192 | 16.0 | 6.9 | |
minor | minor | MAJOR | MAJOR | 225 | 18.8 | 8.0 | |
MAJOR | . | minor | MAJOR | 234 | 19.5 | 8.4 | |
minor | . | minor | MAJOR | 171 | 14.3 | 6.1 | |
. | MAJOR | MAJOR | minor | 195 | 16.3 | 7.0 | |
minor | MAJOR | MAJOR | minor | 228 | 19.0 | 8.1 | |
MAJOR | minor | . | minor | 181 | 15.1 | 6.5 | |
MAJOR | MAJOR | minor | . | 220 | 18.3 | 7.9 | |
MAJOR | . | MAJOR | . | 226 | 18.8 | 8.1 | |
MAJOR | . | minor | . | 181 | 15.1 | 6.5 | |
minor | MAJOR | . | MAJOR | 175 | 14.6 | 6.3 | |
MAJOR | MAJOR | . | . | 185 | 15.4 | 6.6 | |
minor | minor | MAJOR | . | 172 | 14.3 | 6.1 | |
. | . | MAJOR | MAJOR | 183 | 15.3 | 6.5 | |
MAJOR | minor | MAJOR | . | 235 | 19.6 | 8.4 | |
MAJOR | . | . | minor | 172 | 14.3 | 6.1 |
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.
I am a math major who has had relatively fast career growth. Here is the generalized process that has worked for me and a few of my friends (note that this is primarily based on personal experience and anecdotes):
The critical skill for creating large amounts of value and quickly growing your earnings is understanding what people value. Most people, especially STEM majors, are really bad at this. They are not able to effectively model the business and the people they work with, so they end up spending a lot of time and effort on elegant solutions that seem useful but aren't what the business values most. So how do you learn what people value? Spend a lot of time improving your communication skills. Write a lot. Talk to people a lot. Gain a general sense of business by reading books like The Personal MBA. Check out sources like Ramit Sethi's I Will Teach You To Be Rich, which is absolutely phenomenal despite the sketchy name. And of course, consistently ask yourself/your boss/your customers if what you're working on is what other people value, or if it's just what seems to be urgent.
Social skills are certainly important. There are two major branches of social skills, the first lets you work better with others, and the second ensures that a large number of people know that you are competent. Develop both. The classes you mentioned (improv, public speaking, etc.) are definitely helpful. You may also want to read books like The Charisma Myth by Olivia Fox Cabane, I and several friends have found it extremely useful.
Most advice regarding majors is targeted towards median outcomes. The strategies for maximizing your mean earnings over a 40-year career are quite different. For example, more specific technical majors (e.g. petroleum engineering vs. CS) tend to have higher median earnings but less opportunity to shift fields, which in turn means lower mean earnings assuming you're already above a certain baseline level of competence. Technical majors are definitely highly valued and well-respected, so do a STEM major, but try to make it something relatively general like CS, Math, or Physics.
You should definitely come out of college knowing how to write code-even if you don't intend to be a programmer, a strong understanding of what can and cannot be automated is helpful for almost everyone.
Another next critical skill is learning to negotiate your salary-most people do not negotiate at all, despite the fact that a 15 minute negotiation is often worth thousands of dollars. Again, I recommend Ramit Sethi's book as well as several of the writings on Patrick McKenzie's website.
Finally, try to work in industries with a lot of change, such as technology. You may end up earning less at the beginning of your career, but it offers much greater opportunities for advancement than relatively sticky industries such as oil. If you're ambitious then over 10 years you'll probably earn more in a rapidly changing industry than a slowly growing one.