A puzzle concerning CS major vs. engineering major salaries

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:

  • Computer science majors make about the same as mechanical and electrical engineering majors do in general.

  • For colleges with top computer science programs and engineering programs, computer science majors’ starting salaries are far higher than mechanical and electrical engineering majors’ starting salaries.

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.