Fewer Computer Science Majors
skrysakj writes "USA today reports that there are fewer undergraduate students choosing computer science related majors in the USA. What really woke me up was their statement that only 6% of the worlds engineers are educated in the USA. Before there was a dot-com bubble to burst, I knew lots of *amazing* programmers and IT professionals who had non-IT degrees, so how is this new trend any different than before?"
Supply and demand, no?
Curb CO2 emissions: Kill yourself today!
This is a no-brainer. Most people in computer science got into it because they heard there was money in it - not because they had a love for it. Now that it's become clear that compsci's not a crap shoot when it comes to getting a high-paying job, they're jumping ship like there's airborne HIV on board.
Only the true geeks (the ones who love the stuff) will stay with it even when it gets rocky.
dmiessler.com -- grep understanding knowledge
- The press reports explosive growth in an industry
- The press reports that there are not enough workers in a particular industry
Both of those items imply a higher salary. This is not new. Students who don't have a true interest in something before they get to college will nearly always opt to go where the money is. When the expected salary dries up, they look elsewhere. It's happened over and over in the past and, I expect, will continue. Those are the students who do have a true interest in the computer field before they get to college. Again, this is not new, and virtually every job segment has people like this.Speaking as an employer, I'm very happy with this trend. The quality of graduates with programming degrees has been absolutely terrible for years now.
What really woke me up was their statement that only 6% of the worlds engineers are educated in the USA.
I'm not sure why this is seen as surprising. This is actually pretty good, given that Americans make up less than 5% of the world population. America isn't particularly known for its long line of fine engineers (although there are many, I'd admit), or its large scale industry, being known better for the development of the service industries. I'd like to see the figures, but I'd put money that there are significantly more engineers coming out of industrial stalwarts like France, Germany, or Japan (which have large manufacturing sectors).
The article is followed by a bunch of ads for distance degrees, in which the University of Phoenix features prominently. Has there ever been a greater curse on the CS field than people getting degrees from places like this in the middle of the dot-com boom? The worst aspect, I think, being how many of these degrees are in "IT management" or some such garbage, thus turning out a whole bunch of apprentice PHB's who think they're qualified to tell people with real educations what to do. If the current decline in enrollment trims the fat by getting rid of those people, it won't bother me a bit.
The correlation between ignorance of statistics and using "correlation is not causation" as an argument is close to 1.
I make my living as a programmer and database designer, though my formal education is in German literature and fine art.
Among the many great computer people I've worked with in the last 11ish years, about half had computer science (or for that matter engineering) degrees.
My brother writes insanely complex software for NASA, and his degrees are in aerospace engineering, not CS.
We all "played computers" back in the 70s, and now many of us work with them. Seems pretty natural to me.
TFA is really a FA (at USAToday? gasp!) in that it draws a scary picture based on very little real information.
Of course CS and related enrollment is down.... for the same reason it was up during the dot-comedy. These are perfectly normal cycles, and have precious little to do with the actual talent pool.
If you want to blame the lack of interest in engineering and science on something, blame it on the miserable quality of public schools in the US.
This Like That - fun with words!
I find this a bit arrogant. The USA population doesn't even represent 5% of the world population. That's nothing compared to countries like India.
I knew lots of *amazing* programmers and IT professionals who had non-IT degrees
I knew lots of *amazing* programmers and IT professionals who had NO degrees. Desire for self-study combined with a willingness to take on resposibility went father than a whole room of antisocial PHDs.
Colleges are not the exclusive path to a career in programming or engineering.
I'd grant the first, but argue the second. Unless you meant "software engineering."
Not to troll or bait flames, but most real engineering companies require a Bachelor's or better from an Abet accredited institution from new hires. I guess it's possible to start as a tech in the lab and work your way up (eventually experience is worth the same or more than a degree, it's just hard to get without the degree.)
My $0.02.
everything in moderation
That said, I wish I had gotten a comp sci degree. I think it would have been much more "hands on" than my poli sci degree and would have been equally as interesting. As it was, I learned programming by myself, motivated by the many luminaries who said that many great hackers are self-taught. Nevertheless, I would have appreciated a general OS class, an algorithms class, or learning how to make a language with accompanying compiler. I'd love to learn how to make a runtime like Java or Python. I can code in Java and Python, but I want to understand the guts of it.
These are a few examples of things I think one would learn with a comp sci degree.
It's not like us mechanical engineers had a sudden influx of phonies and money-grubbers in the dot com bubble.
Software piracy is victimless theft.
Implying that an MCSE is a path to a career in programming or computer science is like saying that a certificate in oil and air filter changing from Micks auto shop is a stepping stone into car engineering and design! Sorry , I'm not trying to be anti MS but MCSEs are just mickey mouse qualifications (and frankly a lot of other companys in house certs arn't much better). Learning to do A,B or C if X,Y or Z happens is NOT computer science!
If you want a well-rounded education where they teach you how to think, and focus on wisdom, rather than straight up knowledge which will be obsolete on graduation day anyway, go to a university.
I'm sorry, but there is a huge difference between a software crash course and a proper computer science or computer engineering degree.
A good CMPSCI or CMPEN program doesn't teach programming languages; they teach how to program in general and how to reason about programs. Once you master this, you can apply it to any language.
Too many people with these crase course certificates only care about getting something working, whereas understanding why it is working will always be better for the project in the long run.
(S(SKK)(SKK))(S(SKK)(SKK))
Your sample size is so tiny, at best you can form a hypothesis (i.e. not a conclusion)! I guess you'd need a much larger workplace to actuallly carry out the experiments that could support or disprove your hypothesis.
... hence the nit-picking ...
Okay, I'm admittedly in the middle of preparing lectures for first-year science students
YS
"Arrr! The laws of science be a harsh mistress." -- Bender
Not to troll or bait flames, but most real engineering companies require a Bachelor's or better from an Abet accredited institution from new hires. I guess it's possible to start as a tech in the lab and work your way up (eventually experience is worth the same or more than a degree, it's just hard to get without the degree.)
I agree 100% with your post. If I handed in a resume for a software engineering job with even a degree in Information Technology, I probably wouldnt get a second glance.
100% Insightful
as kids get into CS when there seems to be interesting things to do with computers.
The early PC boom of '81-'85 is one example, where JMU had about 200 CS majors. By the time the IBM-PC took over the world ('89), the general feeling was static, of things not really changing, not being interesting, not being worth a career. JMU's CS class of '93 (my class) was only 24 graduates -- and those of us who were programmer-hackers tended to prefer hanging out on the Unix boxes or the Vax/VMS system over the stoic IBM-PC (which we only went over to for playing games).
5 years later, in the midst of the internet and dot-com boom, things looked interesting and promising and people were really doing "new" things (in spite of what the granted patents of the time would tell us) and CS seemed an interesting thing to get into again. JMU's CS graduates got up to about 125 / year.
So now, the rush to do "new" stuff of the dot-com era is gone, people are back to just doing work for businesses that pay, which is rarely interesting, and the military has slowed down its spending on software in order to pay for the replacement weapons we've been detonating all over the mid-east. Add the outsourcing demonstrated by the dot-bomb fallout and it leads people to think that CS and the software industry is just business and not interesting (or lucrative) enough to bother with.
something will arrive in a couple of years which nobody would have predicted (hint: it isn't Longhorn, and like Netscape it WON'T come from Microsoft) and will spin the cycle round again.
"But remember, most lynch mobs aren't this nice." (H.Simpson)
-- Joe
You haven't been paying attention either. MBA's are also out of vogue. Even FedEx commercials are now poking fun at them for being useless!
The distinction you made is interesting. The reason there is so much crappy software being produced is companies don't require adequate computer science credentials for developers. It's extremely common for me to get stuck with people that don't have the slightest clue how to analyze the efficiency of an algorithm or properly handle parallel access to resources. I consider those rock bottom basic requirements for a developer.
I think a lot of open source projects are proof that Comp Sci degrees are almost pointless.
:-).
I just graduated with CompSci degree and instead of being taken seriously at my new job, I am the new guy fresh out of college. I've been programming since I was 4 years old (Commodore 64), and I can confidently say I know more and code better than the guy who's been at this company for 10 years.
Experience is really the key. You have to know your stuff and be prepared to tackle tough problems. You have to be a great problem solver.
True, Engineering courses at school help you learn how to solve problems better, but those were only 5 really helpful courses and then there is the rest of liberal arts easy A stuff
First a disclaimer- one of my undergrad degrees is in CS, I did 3 years of a CS PhD program, and taught undergrad CS. My feelings on CS are colored accordingly
Could someone please explain to me why this is a bad thing? The economy cannot support the current numbers of IT professionals, as evidenced by the unemployment statistics. Further, outsourcing isnt entirely to blame for this, though I do see it mitigating job growth. Fewer CS majors means we will have a higher "signal to noise ratio", our universities will output higher quality CS grads, and the economy will have a better chance of supporting them with job opportunities.
The vast majority of people fleeing CS at the moment are doing so because they have no interest in the subject matter other than fiscal. Most of my freshman CS majors fell into this category in 2000-2001. Does this mean that we might miss the next Turing? Possibly, but truely great minds will find a way to enrich our society regardless of the field of study they pursue. If anything, these numbers are further evidence that the dot com bubble burst was a return to sanity.
As someone (dijkstra? soustroup? one of those guys with a funny name) said, computer science is no more about computers than astronomy is about telescopes. Knuth said in his lectures on theology that he was not the person to ask if you had problems getting lotus 123 working. Computers are very useful to computer scientists in that they can perform the algorithms computer scientists study.
Why don't we change the name of computer science to something more appropriate. Algorithmics? Computational theory? (that one still comes too close to the word "computer") Symbolic processing? (and that one may just be my Lisp background showing through.)
I don't know. But I'm both amazed and saddened by how many job postings I see saying something like "need a cold fusion developer. Bachelor's in CS required." That's idiotic.
Computer science is not programming, though programming is a skill that most computer scientists need to ahve. Ditto networking, hardware troubleshooting, etc. But that's also true of physicists and chemists. Computer scientists study efficient means of transforming sets of symbols and numbers. Why don't we just sever the imagined link between that discipline and writing the crappy string transformation routines that make up most of development today?
All's true that is mistrusted
I see so many programmers hit their early 30s and really hate their jobs.
Most people in their early 30s hate their jobs period. It has nothing to do with CS, it has to do with the terms of the real world. Their late teens and early-mid twenties were great; college, away from home and making their own rules for the first time in their life... mid-20s - 30; buy a home, a new car that they really like, making a bit of money, maybe getting married if they're not clubbing every weekend... early thirties... 25 years more of a house payments, 2 more yeras of car payments on a car that really isn't that bitchin anymore, kids, divorce, the loss of their friends to their own lives of the same, long hours, less freedom. And the worst part of this hits them; this is what their life will be like for 30 more yeras, the same routine for as long as they've lived. It's pretty depressing that most people can honestly say that 17-25 was the best time of their life especially when you hit 32 and know that you're either stuck where you are or that you're going to have to sacrifice plenty to get somewhere else.
Think before you choose a career with computers.
Luckily the concept of computers being a fun, carefree job is going away and fast. but you have to consider any job from mutliple aspects before getting into it. If it was just a matter of pay we'd all be lawyers and doctors, if it was just an easy lifestyle we'd all be in politics, etc etc...
Dedicated Cthulhu Cultist since 4523 BC.
I think you make an interesting statement, one that I agree with for the most part (regarding quality of software).
However, I believe that the reason we're seeing a "decline" in the number of people seeking C.S. degrees isn't because the degrees are losing their meaning or because people are hiring those with certifications (that cost less and take less time to obtain) more than those with degrees. IMHO it's because the field continues to grow, along with the number of available positions. People without C.S. degrees are fully capable of filling the majority of these positions, even without experience, because the majority of these positions don't involve things like parallel access to resources or algorithm efficiency (as you mention).
I'd say the majority of these positions involve rudimentary (for lack of a better word) application development that don't usually need complicated algorithms or parallel programming.
I believe the issue you speak of (the quality of software) stems from when those without the formal software engineering education are put into positions that require such skills.
just my 2 cents
"I have no special gift, I am only passionately curious." - Albert Einstein
I have even seen many folks who don't know basic data structure concepts either... things that should be as ingrained into a programmer as breathing is... things like trees, hashes, linked lists, arrays, etc.
There's nothing like talking to a new hire and who is fretting over how to store some data for later lookup and saying something like "just put it in a dictionary or something" and seeing his eyes glaze over.
Getting a degree (actually, in many scientific/engineering fields) isn't as much about what you know as about having exposure to lots of different things, knowing how to find out what you don't know, and having the discipline to do it right and follow through instead of beating it until it fits and then declaring yourself "done".
The *most* common things that I have seen about non-CS (non- engineering/scientific) programmers (especially folks who "taught themselves") is that
1. Degrees are a waste of time because you don't need them and that they are a shining example of not needing a degree (when in many cases, they are a shining example of why you need a degree - they just don't, and won't, realize it).
2. They are always right, even when confronted with indisputable evidence that shows that they might not be right.
They also typically make lots of obvious mistaken conclusions that a basic algorithms or data structures class would have easily avoided.
What you say is true...there are exceptional cases where people can be good software engineers even though they don't have college degrees. But so what? This is a numbers game, and getting through college nowadays is a badge that means you can reasonably stick through and complete a long-term goal at a relatively young age. That's important...it means you were forged in an environment that allowed you to balance your personal life with a work load (not a terribly tough one) and carry off both.
Your argument by example (5 examples, actually) is just flawed logic. By that argument, I could say the same thing about being a billionaire--Gates didn't complete college, therefore it's reasonable to expect that billionaires do not generally have degrees. But this would be wrong...most billionaires do have college degrees.
That's how companies look at hiring. They want to mitigate their risk. They interview someone, and that person seems good (interviews are notoriously bad ways of judging how people are going to perform on a job, except the part where they talk to past employers and consider your past experience, or the guy walks in and has an obvious chip on his shoulder), but they're still pretty worried about whether he'll perform when he walks out. So say they hire two guys, one with a degree and one without and they both turn out to be disasters. How does the manager that hired the guy without explain the hiring decision to his boss? The boss'll say, "What were you thinking, this guy doesn't even have a college degree!"
You could keep living in the clouds and say the manager should patiently explain to his boss his view that college degrees don't really matter...except that's totally wrong. Remember, we're not talking about the exceptional case here, we're talking about a numbers game, and whether you like it or not, it is generally true that people with degrees will, on the average, outperform people without.
In discussions like this it's common for people to pay so much attention to the exceptional cases that they forget they're still dealing with exceptional cases.
Having said that, I think your way of looking at things has become increasingly popular over the last generation or two. This is because in the 50s, 60s, and 70s having a college degree meant more than it does today. It was difficult to get one. Now the average university has become a rubber stamp mill that just passes students through. The average bachelors degree student today knows less than the average high school graduate of the 1950s. Jobs like engineer, architect, etc, didn't used to require college degrees for this reason.
Now college is necessary because our public schools are in decline and have been for several decades (my journal entry on public school). As the teachers unions force one decision-by-committee on the system after another, things get worse and worse and all the good teachers get driven into other professions. Couple this with the sense of entitlement that most people in the US have nowadays about education ("my child has a RIGHT to an education whether he works hard or not!") and you get the current situation, where everyone must have college degrees just to prove they're smart enough to breathe. This is why the top 20 or so college institutions of each particular field, that have managed to retain their previous high standards, are so sought after.
but have you considered the following argument: shut up.