The Danger of Picking a Major Based On Where the Jobs Are
theodp writes: In his new book Will College Pay Off?, Wharton professor Peter Cappelli argues that banking on a specialized degree's usefulness is risky, especially since one reason some jobs are in high demand is that no one predicted that they would be. "A few generations ago," notes Cappelli, "the employers used to look for smart or adaptable kids on college campuses with general skills. They would convert them to what they wanted inside the company and they would retrain them and they'd get different skills. They're not doing that now. They're just expecting that the kids will show up with the skills that the employer needs when the employer needs them. That's a pretty difficult thing to expect, because of these kinds of problems. So the employers now are always complaining that they can't get the people they need, but it's pretty obvious why that's not happening." On CS-as-a-major, Cappelli says, "If you look at most of the people who are in computer programming, for example, they have no IT degree-they just learned how to program. Maybe they had a couple of courses in it, maybe they were self-taught. In Silicon Valley, the industry was built with only 10 percent of the workforce having IT degrees. You can do most of these jobs with a variety of different skills. I think what's happening now is that people have come to think that you need these degrees in order to do the jobs, which is not really true. Maybe what these degrees do for you is they shorten the job training by a bit, but that's about it. And you lose a bunch of other things along the way." One wonders what Cappelli might think of San Francisco's recent decision to pick a preschool curriculum based on where today's tech jobs are, echoing President Obama's tech industry-nurtured belief that "what you want to do is introduce this [coding] with the ABCs and the colors."
While you shouldn't necessary pick a major based on the hottest job, you definitely need to pick something in consideration with how you will use it. And you sure as heck should go to college to learn and make yourself better--not just to receive a piece of paper. Racking up 5 or 6 figures of debt without learning anything of value is a terrible idea. Unfortunately, we haven't given students the tools or perspectives to understand the consequences of the decisions they are making. Everyone is always warning athletes coming into college "the chances of you making it as a pro are extremely rare". And yet, the chances of someone making it as a tenured history professor at a major university are probably just as rare. At least the athletes aren't going into massive debt.
Add onto the fact that we have massively watered down many majors to the point of uselessness. The reason liberal arts majors get a bad rap isn't that it is a useless subject. If people came out as hard working critical thinkers they would be valuable contributors. Unfortunately, it is filled with people who just want a piece of papers and do the minimum to get by. This is a generalization, of course, but I believe is backed up by stats on plagiarism http://www.huffingtonpost.com/...). And the courses are watered down to be worthless. For example you can graduate from Yale with an English without having a Shakespeare course (http://www.washingtonpost.com/news/grade-point/wp/2015/04/23/skipping-shakespeare-yes-english-majors-can-often-bypass-the-bard/). So in 4 years of education in English, you don't have to actually take a course in the most influential English writer in history. But, you know, he is challenging to read and understand. As an alternative you can take a course in Literature for Young People http://english.yale.edu/course... which includes J. K. Rowling and Dr. Seuss.
At least with Engineering/Math/Hard Science you have to demonstrate via projects and tests that you have actually learned something.
A lot of the issue boils down to a gap between college and "career" for the first 2-3 years after college. Employers know that hiring a guy with a physics degree to do an engineering or programming job job will be a money loser for at least a couple years, even if they are pretty darn sure he'll come up to speed and be a major contributor. It is safer to either hire someone who is already trained (and grill them about their possible lack of loyalty), or to get someone with just the right set of skills to minimize the training. After a new guy/gal has some experience there is no assurance that they will stick around. Often you can't get a decent raise, no matter how well you are performing, without jumping ship to another company (a dose of bureaucratic stupidity worth ranting about all by itself).
At-will employment has made this entry level dance crappy for both sides. Everyone knows that they can be let go at any time with nothing guaranteed beyond a cashout of their meager vacation accrual. Employers know that if they sink a large amount into an employee to bring them up on a new or in-demand skill it increases the likelihood that the person can get headhunted away. Stock options and other incentives try to patch this broken relationship by putting some carrots out there, but the young guys usually get very few of those until after they have proven themselves (and a lot of companies has dispensed with them for peons entirely). Other companies know they most incentive plans are crappy and they matching the loss with a hiring bonus and/or sign-on options and still be cheaper and easier than training one of their own (and outsiders are smarter, obviously, than the whiners already sucking at the payroll teat).
It is all pretty perverse. I work in the states for a foreign company, and having a counterpart doing the same job with a very different employment setup regularly makes me question the US system. My counterpart is part of a union, has many more holidays, more vacation, has his hours strictly limited, is not allowed to work at all from home, and cannot be easily laid off (and his college was tuition free).
The average starting salary for CS graduates in 2014 is $60,000. Engineers are $62,000. The average business graduate is $54,000. So sorry, you are completely wrong.