Higher Education: Are there too many students going into Computer Science?
-
Enrollments in CS courses at colleges across the country are sky-rocketing. Many of my friends who dislike math and are neutral towards programming are studying CS for the job prospects. It frustrates me that an uneconomical number of people are studying a subject without any passion or interest. As a computer scientist and engineer, I enjoy studying mathematics, physics and the general engineering approach to solving problems. I appreciate all disciplines in this school of thought and see them as subjects of equal importance. If fewer students who might actually do better at these subjects study them, won't we have a deadweight loss in terms of societal output in science and engineering? Won't we be producing too many software engineers writing bad code? Edit: I've reflected on this question and have realized that what I suggested is communism where an all-knowing dictator assigns occupations based on perceived skill set. Historically shown not to work - both because it's impossible to have an omniscient leader that can do macro-optimizations and also because it imposes on free will of individuals to make their own career choices however unwise they may be. It's much better that we have a flux of CS students now and that the market self-corrects once supply overshoots demand.
-
Answer:
CS salaries are indeed very high, but this is because the impact of CS-style work is easier to evaluate/measure than the impact in most other fields (so you can encourage best performers and help people improve); the industries more amenable to measurement are petroleum exploration and financials, which is why they pay even better than tech. computers and software are displacing entire industries and making other industries more effective. Just look at how the Kindle streamlined book distribution and sales, how Walmart opened Walmart labs recently and is hiring data scientists, and how all TVs became digital (and software based). Both aerospace and car manufacturers hire a large number of software developers. there aren't enough strong students going into Computer Science (possibly, because there aren't enough strong students overall). Based on my recent teaching experience, there are definitely many students signing up for CS majors who aren't prepared enough and have difficulty getting through foundational material. Some of them manage to learn through perseverance (retaking courses several times), some don't. They won't be nearly as efficient as median students, but they can be useful in nontraditional CS applications, and especially if they can combine their CS knowledge with domain knowledge in, say, biology, medicine and healthcare --- areas lagging behind in the adoption of CS methods. Top CS students can also do great things by gaining domain knowledge, such as finance. While I agree that there are too many CS students right now, it's different from year 2000 -- these students are not just in for a quick buck, but are planning to pursue long-term CS careers. So, the important thing is the shortage of low- and mid-level CS jobs --- a great entrepreneurial opportunity ! Additional thoughts: You will always hear people in other fields express their sour-grapes feelings about how CS is not deep enough or does not deserve all the attention. I would have taken this more seriously if those people possessed a reasonable understanding of CS and a sense of what matters in practical applications. It's unrealistic to expect that the number of CS students matches the supply for CS jobs (from a university perspective, it's always better to overproduce). Modern jobs require both strong skills and the ability to learn new things quickly - they are not like jobs in a fastfood restaurant. Some students just won't have sufficient skills, motivation, and commitment. Many high schools need to improve their instruction in CS-related topics. So, it seems reasonable to give college students a few years as CS majors to realize that, perhaps, CS is not for them --- otherwise, they will only realize this after several years on the job, when it's too late to learn something else. There is a lot of talk about smart people who cannot find smart things to do (for example, at Google and Microsoft) - perhaps not individually, but collectively (those smart people cannot get promoted to become smart managers and guide other smart people). Perhaps, they could be smarter, more educated or more creative --- there is no shortage of important and difficult challenges.
Igor Markov at Quora Visit the source
Other answers
I'm going to go by what I've seen in University and talking around with friends who work in the software, either involved in Finance or pure software development. I think yes, there are too many CS students, who could use their talent for areas in Chemistry, Physics or Mathematics and make really awesome contributions to society. It's too bad really that programming is a well paying and well supported field when it comes to employment. Not too bad because it's bad for society, but because it induces less incentive to pursue other fields. Going past what society supports, I have noticed that a lot of programmers (and CS graduates) are extremely socially awkward and introverted, and being a PC society, there is almost a air of excuse for this lack of social skills, and having to communicate with such people on a daily basis in academia, it's infuriating. Don't get me wrong, I appreciate CS and know how convenient it has made society (I am a direct beneficiary after all). But there's this air of superiority about them that I just don't understand from a human to human point of view. I like talking about Science. I like talking about current affairs. I like having intelligent conversations. What I do *not* like is the typical CS student giving me the air of smugness by unecessarily 'showing off' (It's not showing off; it's just stupid) their knowledge of a certain module of python or object-orientation. Look, dude, did you invent it? No? Then don't act so smug.
Sang Young Noh
People go to college for several reasons. Getting a good job (the definition of which is more often than not, high paying) is one of the most common reasons. Just because passion and interest works for you, it isn't quite right to assume the same for the others as well. The only two possibilities are that your friends who dislike mathematics are not interested in anything else, or they are interested in something else. Assume your friend who doesn't like CS likes to paint. In today's world, not all painters can end up economically successful no matter how good they're at what they do. So may be he is studying CS for earning a livelihood. If there are too many software engineers who write bad code, they will not be hired. There isn't going to be companies functioning with the help of bad coders just because there are plenty available and they'll work for a lower wage. Even if such companies exist, their products will not be successful in the long run. Like I said, people go to college for a plenty of other reasons than just enjoying what you're passionately interested in.
Vignesh Natarajan
I keep hearing the exact opposite; there aren't enough people to meet the growing demand. My experience interviewing bears that out; almost every tech company I know is hiring. I would be very interested in numbers supporting your claim. Many smart people can learn to write decent code even if they are not very motivated. There are many bad programmers working today. Economics probably does a better job deciding what is important than you. Tenure-track positions anywhere are extremely hard to get; my impression is that we have too many people (trying to) do pure science.
Jonathan Paulson
Absolutely not. The reason people go to college is to learn. I'm trying to think of a nice way to say what follows, so forgive me if I fail here. You were not born writing code. While you may have some God-given talent for logical thinking, problem solving, etc., you still had to learn CS. There is a pervasive talent myth in our society, and it has two destructive outcomes. #1 is that people think they'll never be good enough to learn a new skill, so they don't try. #2 is that people think they're better than everyone else when they had advantages that were completely out of their control. It's especially true of programmers on Quora. Yes, you are better than other people at coding. No, there is no unbridgeable gap between you and the non-coders. I was the smart kid in high school. I heard every day how talented I was. That didn't get me anywhere when I graduated from college. I felt threatened when I realized that no matter how good I did on standardized tests, I still had to go out and work my ass off. My confidence was shaken. After decades of hearing how special I was, I wasn't guaranteed anything. Talent is overrated. Regarding the economics parts of your question, no we won't be producing too many software engineers. If they don't succeed in their classes or in their job interviews, they won't get jobs. If they truly aren't able to do it, they won't make it. There are differences between people, and some people are just never going to be good at programming while others naturally excel. You're vastly overestimating the number of people in both groups and the gap between them. EDIT: 's http://www.pgbovine.net/tech-privilege.htm post is a great story about what it takes to be one of the very best programmers, and how damaging it can be to tell people they aren't "naturally" good enough.
Steve Carnagua
It's a problem of supply and demand. CS majors are currently overpaid compared to other engineering professions such as EE - by quite a bit, if you ask me. People are deciding to major in CS to meet this demand. Don't feel bad about it; these opportunists usually major in Business (the most popular major by far in the US) and Finance. See: http://www.nytimes.com/2011/04/17/education/edlife/edl-17business-t.html?pagewanted=all&_r=0
Dan Zhang
In my opinion, it is not a good idea to study Computer Science with little or no passion or interest. At present, there is a (reasonably) healthy job market for people who: attended a college or university with a top-tier CS department are known in the industry for a significant accomplishment (such as a highly useful open source project or a project developed at a startup) are believed to be "hot commodities" capable of producing something useful However, this may not be true a year or two from now. There are signs of slowing demand for people with computer science backgrounds. For example, consolidation leading to layoffs (such as the recent announcement of layoffs by Microsoft after the Nokia acquisition). Also, some startups are not thought to be as financially viable as they were first thought to be. Let's not forget the general tone among financial analysts that we are in the midst of a tech bubble (in some areas such as social and mobile). There was a great spike in CS enrollment until the dotcom bubble burst. Afterwards, a lot of people with CS backgrounds were unable to find work in the computer industry.
Greg Skinner
You brought up a really good point. I remember reading somewhere that half of comp sci majors never get jobs in their fields after graduation, and simply switch careers. The two things that are important in choosing a career are choosing something you like doing, and something that you are good at. If either one fails you are in deep trouble. Liking something has the additional benefit of making you do even better in the field. If these individuals are only interested in the money, most of them will never get anywhere! Without constants effort, striving and struggling, they will not even get the money that they want. The ones that really shine, are those that love what they are doing! These individuals put in all the time and effort required without breaking a sweat, because they actually want to be there. They should do themselves a favor and go into something else. I think one of the biggest problems here is that people are so stupid, they don't realize that there is money to be made in every single profession! The minute they hear about someone making a good salary, they think it is something magical that comes for free, and only exists to those people, doing that job. And no, we won't produce to many bad programmers, they just simply won't be programmers. If they can't carry the load, they won't be hired, period. If they do manage to get a job, it will not last, both from them leaving at their own frustration, or as a result of pressure from the people in the company due to their lack of progress. Personally, I haven't had it all to rosy. I love what I do, I love this field <3. I'm also pretty skilled in my trade, but I'm having a hard time getting a good placement. I am currently unemployed, and likely to take the first job offer I get. This is a really bad thing actually, as it will likely mean a less than adequate fit, which will cause problems down the road. This is exactly what happened at my last job. Though, everyone's experiences will differ, and some people have it really well. Another point I wanted to mention, is that there are a lot of problems in many of these companies, that I have either worked at or interviewed at. For one, many of them have leaders (managers, whatever) who are not qualified to make the decisions they are making, and they have very bad consequences. Then you have the office politics, and so on... kinda like every other job. You can take a look at my pet project, which I have been working on in my free time here: https://play.google.com/store/apps/details?id=com.matthewjmouellette.snapdat.
Matthew Ouellette
I've noticed that even though there are a lot of people with CS degrees, it's still very difficult to find good programmers and engineers. I don't think the number of people holding CS degrees will water down the market. It's going to come down to how many people can execute on the needs of the business that will determine the quality of the candidates.
Chris Trinh
The need for competent programmers, data-scientists, project managers and tech consultants is big, and is likely to stay that way for a while. The issue is the asymmetry between the graduates' skills and the needs of the market. I don't believe that computer science education is a sufficient condition to produce those highly-valued skills employers look for; but it stays almost a necessary condition (except maybe for pure programmers, who sometimes can skip this step and directly work on programming, but they'll never acquire the mathematical foundations to go really deep). Too many people think that getting a degree implies getting a job. Wrong. Getting highly-valued skills you can demonstrate is (not like "I understand this language or this concept" but more something of the effect of "I've worked on project X, using technology Y to achieve Z").
Sym Eof
Related Q & A:
- What is the value of a higher education?Best solution by Yahoo! Answers
- Free higher education cons and pros?Best solution by Yahoo! Answers
- What can I do to get a good job with my Bachelors of Science in Computer Science?Best solution by collegexpress.com
- Bachelor of Computer Science or Bachelor in Applied Computer Science.Best solution by Yahoo! Answers
- BA Computer Science vs. BS Computer Science?Best solution by Yahoo! Answers
Just Added Q & A:
- How many active mobile subscribers are there in China?Best solution by Quora
- How to find the right vacation?Best solution by bookit.com
- How To Make Your Own Primer?Best solution by thekrazycouponlady.com
- How do you get the domain & range?Best solution by ChaCha
- How do you open pop up blockers?Best solution by Yahoo! Answers
For every problem there is a solution! Proved by Solucija.
-
Got an issue and looking for advice?
-
Ask Solucija to search every corner of the Web for help.
-
Get workable solutions and helpful tips in a moment.
Just ask Solucija about an issue you face and immediately get a list of ready solutions, answers and tips from other Internet users. We always provide the most suitable and complete answer to your question at the top, along with a few good alternatives below.