Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Although I've read on various websites until 2007-2008 that CS majors in decline, I don't understand why--I haven't entered the job market yet.

Bruce Webster has an excellent chart regarding the topic: http://brucefwebster.com/2008/03/05/the-decline-in-computer-science-students/

What are some factors that lead to this decline? Is there still deficient amount of graduates? Are more people just skipping higher education altogether to get inside the industry? Does a "Software Design" major exit now?

So many questions.

share|improve this question
2  
Two words: OUT FREAKING SOURCING. –  Job Nov 22 '10 at 3:45
add comment

closed as too broad by MichaelT, BЈовић, gnat, World Engineer Jul 29 '13 at 13:56

There are either too many possible answers, or good answers would be too long for this format. Please add details to narrow the answer set or to isolate an issue that can be answered in a few paragraphs.If this question can be reworded to fit the rules in the help center, please edit the question.

5 Answers

up vote 9 down vote accepted

When you look at the graph and compare with financial crisis of 80s and late 90s (internet bubble) this is the same curve with a delay (years) probably due to the fact that you stay at school the same amount of years (of the delay). The graph shows CS degrees granted (this is important).

The cause is simply the market.

I'm also pretty sure it is not related to CS only, but you can have similar behavior in other branches.

alt text

alt text

share|improve this answer
    
The statistical comparison is awesome. I think I see why business is so complex without them. –  Gio Borje Nov 21 '10 at 19:36
    
@Gio Borje, even more complicated with them. –  instanceofTom Nov 21 '10 at 20:40
1  
It shows CS degrees granted as a percentage of total degrees granted, not an absolute number. Besides the dot-com boom, is there any credible explanation for why CS degrees would lag-follow the market, while other degrees wouldn't? –  Fomite Sep 25 '11 at 23:43
add comment

People go where the money is. During the dot-com boom, enrollments exploded as would-be CS majors saw easy money. And it was true; a 2-year degree (or even a certification) could land you a $100K+ job.

After 2001, I believe we saw several things happen at the same time:

  • The Internet became the victim of its own success. Fast, cheap Internet access meant low-skill IT jobs could be moved overseas. Like people, businesses seek to maximize profits and cheap labor is part of that equation. This led to a decline in interest in the CS major here in the US -- and a corresponding increase elsewhere.

  • Some of the fantastic products and services invented during the dot-com era have made it easier than ever to be a power user. Tasks which used to involve programming can now be done by merely being a user. Most business data analysis needs can be met by Excel, for example. Artists can make impressive 3D animated movies using nothing more than Maya or Blender or the like. Relatively unskilled users can whip together a nice website in just minutes using Wordpress, Drupal, or Dreamweaver.

  • While 2001 saw the beginning of the decline of the CS major, it was also the start of the real estate boom in the US. Many CS majors who had no business doing programming followed the money and became real estate agents or loan brokers. Many of the resumes that cross my desk include candidates that were once programmers but are now in the real estate industry.

Will the cycle repeat itself? It's hard to say. Mobile app development is sure gathering a lot of interest and while it's easy to make an Android "Hello World" app, creating a new and innovative one takes real talent. The video game industry is also fueling demand, but they need not only programmers, but artists, marketers, writers, musicians, foley artists, and more, so the demand is spread out among many talents.

share|improve this answer
add comment

See @Pierre's answer for the market part.

The part that matters these days is simple.

  • Programmers can be outsourced cheaply.
  • Migrant worker visas allow companies to pay uncompetitive salaries
  • The work is more complex than it used to be
  • The glut of kids who grew up with 8 bit machines dried up. The 8 bit machines were comprehensible to kids (and adults); there's practically no operating system and there's always a BASIC interpreter and an assembler..

So these days,

  • study hard for 4 years for a software engineering degree
  • Maybe get hired and get paid 45k. (Pay hasn't kept up with inflation over the last decade.)
  • Software engineering ( at least when I studied it) had the worst pass rates on campus.

  • Students can get on the internet (anywhere in the world) and see professional programmers discussing pay and conditions. There's a lot less wide-eyed innocence going around about jobs.

So the pay is for beans, people hate you ( my wife tells me people hate software engineers, because we make everyone feel powerless) Why would people do this again ?

Whenever people start talking about "only the people that really love the job do it now" what they really mean is that only the suckers are buying.

The ACM and other groups have been holding an outreach to minorities over the last decade. When you try extra to get minorities into your profession, there's someone out back looking forward to offering even lower pay and worse conditions.

Back when programming had a lot more women, in the 60's and 70's, working conditions were much better. Women got out around the time all the microcomputer "programmers" arrived on the market. Maybe we have met the enemy, and he is us.

(Me, I do it because programming is the only job I know.)

share|improve this answer
add comment

This is purely speculation, but: getting started in programming today is easier than it ever has been. Thus people decide to skip higher education, because they are able to do quite impressing programs with no education. This is possible thanks to high level of abstraction. I can take Scripting Layer for Android into my phone and write something like

import android
droid = android.Android()
droid.makeToast('Hello, Android!')

and it shows a message box. Showing a message box took some 100+ lines of C++ in Windows just a decade ago! Looks like you don't need CS any more to be a programmer - which is mostly true.

You can't be a great programmer with no CS knowledge, but you can easily be decent enough to earn good living. Besides, nothing stops you from learning CS gradually on need basis.

share|improve this answer
    
I agree that programming has become much easier since I transitioned from web development into low-level scripting e.g. Socket Programming but my primary concern is the piece of paper that certain employers demand. With the current economy, I'd like to have a large pool of employers to choose from. –  Gio Borje Nov 21 '10 at 19:35
1  
What do employers pay for, if it's this easy to create applications? Would it be fair to say that developers who actually understand data structures, algorithms, concrete math, and even a little bit about software architecture and testing methodologies, might actually command a higher salary than the script kiddies? –  Robert Harvey Nov 21 '10 at 19:48
    
Sorry, I might've phrased that wrong. It's more difficult to program with low-level structures in lieu of things on the web but I have no doubt that there are exceptions for people that already have a strong foundation without formal education. –  Gio Borje Nov 21 '10 at 20:00
    
@Robert: One important point is that employers pay for what you get done and how quickly, not in what finesses you know or how smart, beautiful, efficient or well-architectured code you write. While script kiddies focus on the 80 % that matters and are blissfully ignorant of the remaining 20 %, some CS people (when used as programmers) waste time refining that 20 %, which has little or no practical value to the business. Blending CS and pragmatic programming appropriately is a rare and valuable skill. –  Joonas Pulakka Nov 22 '10 at 7:15
    
@Joonas: The smart employers know that it is important to strike a balance between getting things done "quick and dirty," and producing maintainable code. –  Robert Harvey Nov 22 '10 at 15:46
show 1 more comment

You need to look at the history. As you may know there was a "dot-com boom" in the mid-1990's. It started around 1993 and ended in 2001 with the big "dot-com bust". During those years the web became ubiquitous, and the demand for programmers and, consequently, their salaries were rising steadily. I graduated in 1997 from a polytechnic institute, and CS was the largest major among my graduating class.

After the bubble burst in 2001, billions of dollars in inflated tech stocks evaporated, and the demand for software engineers fell sharply. As a result, the number of students choosing CS as their major also fell. You could see it very clearly in bookstores. The computer books sections were reduced to almost nothing.

share|improve this answer
    
Really? The Borders in my area has an entire section dedicated to computer books (O'Reilly and all those other publishers). –  Gio Borje Dec 3 '10 at 7:06
    
It may have rebounded. But in 2001 you would see an entire computer books section reduced to a single shelf. –  Dima Dec 3 '10 at 17:20
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.