<p>I keep seeing a TON of people majoring in Computer Science, will CS become more of a useless major?</p>
<p>There is a difference between MAJORING in CS and actually GRADUATING in CS.</p>
<p>I noticed that many people plan on majoring in it, then switch majors or drop out because it’s too hard. For those who struggling and still keep in the program, the usually end up with low GPAs (like below 3.0) and aren’t very good programmers. With all of this weeding out, the best students get the jobs.</p>
<p>Pretty much this. Same applies to pretty much every STEM major. Kids go in because they think it’ll give them better job opportunities, grad/med school placement, they’ll make more money, etc, without having a complete passion or work ethic for it. </p>
<p>Kids either switch majors (for CS, not realizing that it’s not just programming, but also a significant amount of number theory, discrete math, etc), or do poorly in classes. </p>
<p>In the end, GPA, passion, and work ethic win out. Don’t worry about the numbers. And CS will not become a useless major.</p>
<p>By my observation, I don’t think CS has become too popular of a major. In fact, I was disappointed to learn recently that my school had significantly watered down the undergrad computer science curriculum in an attempt to boost enrollment. Apparently, CS, which was an impacted major when I was an undergrad, had been under-enrolled for the last several years because students either considered it too difficult or were scared away by the great off-shoring bogey man. Currently, the impacted majors in our engineering school are ME, AE, and Bio E. CS is not among the impacted majors. </p>
<p>Even if enrollment goes up for computer science, I still think it’s a valuable major. If you peruse websites for tech jobs (like dice.com) you’ll find that software jobs are still plentiful. Also, skbryan is right that the jobs will usually go to the top students who have the highest aptitude for the field. When I was an undergrad, the average GPA was pretty low (2.7) so it was easy to distinguish the students with high aptitude from the rest of the students.</p>
<p>How is CS job security? I’ve never taken a programming class, but all the number theory and mathematics actually sounds pretty appealing. I doubt I would want a pure math major, and CS seems like a happy middle ground between engineering and math. The idea of using logic to solve problems sounds appealing too. However, I’ve heard that software companies like to cycle employees through and only keep them for a few years after they graduate, so they’ve always got fresh minds coming through that are competent with the cutting edge developments. </p>
<p>Is this true? Software jobs out of school might be plentiful, but will you be able to keep advancing in these careers as you get outdated?</p>
<p>Like others have said, if the market becomes over saturated with CS graduates, that only means the mediocre students will have trouble finding jobs. Lots of majors have ups & downs. When the housing industry was blowing up 7 years ago, it was all about civil engineering. When the stock markets were soaring, it was all about financial engineering. Those majors have gone down in popularity lately & CS is now booming because of all the marketing hype put out by Apple, Google, various video game companies, etc.</p>
<p>Don’t worry too much about it. Again, as others have stated, when students realize that CS is <em>much</em> more than programming, they tend to lose interest.</p>
<p>As far as CS majors becoming outdated…again, since CS is much more than just programming in the newest language & for the newest processors, I don’t think it will be an issue. The theories and principles remain the same so it’s not difficult to adapt.</p>
<p>A better middle ground would probably be an applied math + cs minor. My school’s math department actually offered a “Math-CS” undergrad degree that was basically equivalent to that. At the time, I never considered majoring in it – because quite a few Math CS majors were people who couldn’t get into the CS department, we tended to look down on it a little. Now, however, I sometimes think Math-CS would have been a better choice for me given my career path.</p>
<p>As for job security, great software engineers are valuable so few companies willingly let them go. A good software engineer can easily be more productive than 2 mediocre software engineers. Have you read in the news about the secret agreements between Google and Apple not to poach each other’s engineers? Those companies aren’t cycling through graduates, and it’s not a coincidence that they also happen to be 2 of the most successful tech companies in the world.</p>
<p>At my current company, because of the amount of time and training required to develop a level of expertise in our field (wireless communications & mobile computing), the company prefers to get engineers relatively early in their careers and keep them for a long time. I have heard, however, that it’s harder for more senior engineers to get hired here for the very same reason.</p>
<p>The key to staying in the software engineering game is to stay on top of the latest technology trends. It really doesn’t matter how “senior” you are. Now having said that, those of you who live in cities with DoD presence, doing “cleared” work is a good security blanket for your “older years” in software or systems engineering.</p>
<p>When you consider how many more jobs there are for software & programming compared to all other engineering jobs combined, the number of CS majors seems much smaller. I was startled fairly recently by the numbers reported in the US bureau of labor statistics occupational outlook handbook.</p>
<p>
</p>
<p>In startup-laden areas like Silicon Valley, it is often the companies that get cycled through (i.e. most startups do not become successful and eventually close, or the remnants get bought by other companies after decline). It is not unusual for computer software people to change jobs frequently because of this. It is also not unusual for computer software people to change jobs frequently when a new startup doing stuff more interesting to them appears.</p>
<p>A key component to being successful on the job is the ability to learn something new when it comes along. However, that desirable quality is hard for employers to check for in typical interview situations, so that they often shortsightedly overlook applicants who do not already have experience in what they are looking for (but which good employees can learn quickly).</p>
<p>Computers and software aren’t going anywhere.</p>
<p>The people that can write code, program, develop and understand computer language, architecture, design, etc. are in significant minority when compared to those that don’t have these skills.</p>
<p>Americans lag behind in computer science. I sit here within a stones throw of one of the biggest software development companies in the world. On a daily basis I watch worker after worker from India come in on year long contracts to do SDE work for the company. I guess there aren’t as many skilled Americans to do the job.</p>
<p>But…they bring them in from India because, they are cheaper right?</p>
<p>The Indians they bring in are highly skilled workers who bring value to the company. Americans have every opportunity to be at least as skilled and valuable, and those that take it - instead of buying in to the American entitlement myth - get good jobs and keep them. Going to a degree mill and partying your way to straight Cs, no work and no research and getting a $200 frame for a worthless diploma probably isn’t going to be enough incentive for companies to stop given all teh jurbs to teh forners dirka dur.</p>
<p>If you majored in EECS, Computer Engineering, or majored in EC and minored in CS would it make you any less desirable as a software programmer to companies than a full out CS major? What about if you wanted to be an outright hardware engineer?</p>