I think your suggestion about graduates from top schools being above the 90th percentile is quite plausible.
Also, part of it could be that programmer salaries have gone up recently, so that the mid-career data you cite won't be in line with the current starting salaries. This would match up with the anecdata I have that starting salaries for college hires at Microsoft, Amazon, etc. are about 30% higher now than 7 years ago. Have salaries for other engineering jobs increased at the same rate?
I think your suggestion about graduates from top schools being above the 90th percentile is quite plausible.
Let's see. This article from 2013 reports that 56,742 students graduated with CS majors in 2012. It seems that there are on the order of 100 CS graduates at each top school per year (with the number increasing rapidly over time), so maybe 1,000 total, so 2% of CS graduates. So yes, it's plausible that they're above the 90th percentile.
...Also, part of it could be that programmer salaries have gone up recently, so that the mid-career data you cite w
In the process of investigating the relative merits of majoring in computer science versus various engineering specialties, I came across the following puzzle, which I've been unable to solve. Maybe one of you can.
The puzzle is that:
Some supporting data below:
Computer science majors make about as much as mechanical/electrical engineering majors
The 2013-2014 Payscale College Salary Report gives the following figures:
Major / Starting Salary / Midcareer Salary
Computer Science / $60k / $102k
Mechanical Engineering / $61k / $100k
Electrical Engineering / $64k / $106k
Here the figures are very close.
----
A Payscale report from 2008 gives a breakdown of mid-career salary by major and percentile:
Major / 10%-tile / 25%-tile / 50%-tile / 75%-tile / 90%-tile
Computer Science / $56k / $74k / $95k / $122k / $154k
Mechanical Engineering / $64k / $76k / $97k / $120k / $163k
Electrical Engineering / $69k / $83k / $103k / $130k / $168k
This gives the impression that CS majors generally made less than electrical and mechanical engineering majors at the time.
----
The Bureau of Labor Statistics (2013) gives percentile breakdowns for programmers, software developers, electrical engineers and mechanical engineers. This isn't strictly data about salaries by major but nevertheless serves as a proxy to salary by major (with programmers and software developers being associated with the computer science major)
Job / 10%-tile / 25%-tile / 50%-tile / 75%-tile / 90%-tile
Computer Programmer / $44k / $58k / $76k / $98k / $124k
Software Developer / $56k / $72k / $92k / $117k / $144k
Mechanical Engineer / $53k / $65k / $82k / $103k / $123k
Electrical Engineer / $57k / $70k / $89k / $113k / $139k
Pooling together the programmers and software developers would give salary figures in line with electric and mechanical engineers' salary figures.
For recent graduates from top schools, the situation is different
I looked at salary data from the 6 top ranked colleges (roughly speaking) in computer science and engineering.
---
Stanford reports average starting salaries for 2011-2012 graduates by major:
Major / starting salary
Computer Science BS / $94k
Computer Science MS / $105k
Mechanical Engineering MS / $83k
Electrical Engineering BS/MS / $73k
The page doesn't say whether the average is the mean or the median.
----
MIT reports average starting salaries for 2013 graduates by major (pg. 25)
Major / starting salary
Electrical Engineering and Computer Science / $92k
Mechanical Engineering / $75k
The document doesn't say whether the average is the mean or the median.
---
UC Berkeley reports average starting salaries for 2012 graduates by major:
Major / starting salary
Electrical Engineering and Computer Science Computer Science / $83k
Mechanical Engineering / $64k
The pages don't say whether the average is the mean or the median.
---
Carnegie Mellon reports starting salaries for 2013 graduates in computer science and engineering
Major / mean starting salary / median starting salary
Computer Science / $95k / $100k
Mechanical Engineering / $64k / $64k
Electrical and Computer Engineering / $86k / $90k
---
University of Illinois reports starting salaries for 2012 graduates by major.
Major / mean starting salary / median starting salary
Computer Science / $81k / $90k
Mechanical Engineering / $65k / $64k
Electrical Engineering / $67k / $70k
---
Cornell University reports starting salaries for the class of 2012 by major
Major / mean starting salary
Computer Science / $76k + ~5k bonus
Mechanical and Aerospace Engineering / $62k
Electrical and Computer Engineering / $70k + ~3k bonus
Putting this together, it appears that on average, computer science majors at top schools make between $8k and $21k more than electrical engineering majors, and between $16k and $36k more than mechanical engineering majors, depending on the metric used and the school. These differences favor computer science substantially more than any of the differences described in the previous section.
Possible explanations
What is going on here? Why do recent graduates from top schools who major in computer science have salaries that are so much higher than than those who major in electrical and mechanical engineering, when the trend doesn't appear to hold more generally, even when comparing the 90th percentile of earners in the respective majors?
Do salaries in computer science start higher but plateau more quickly?
Are graduates from top schools above the 90th percentile in earning power (after controlling for age), such that the broader trends reported on in the first section of this post aren't pertinent?
I'd welcome any thoughts.