The Continuing American Decline in CS
abb_road writes "America's recent dismal showing in the ACM Programming finals may be more than just a bad year; a BusinessWeek article suggests that the loss is indicative of the US's continuing decline in producing computer scientists. Despite the Labor Dept's forecast of a 40% increase in 'computer/math scientist' jobs, planned CS enrollments have plummeted from 3.7% in 2000 to just 1.1% last year. Other countries, particularly China, India and Eastern Europe, are working hard to pick up the slack, with potentially serious long-term effects for the US economy. From the article: 'If our talent base weakens, our lead in technology, business, and economics will fade faster than any of us can imagine.'"
This is your boss, I demand that you lower your rates or I'll hire less-expensive overseas developers.
I graduated in 2000 when life was sweet for Computer Science majors. When the bubble burst, there was a false impression that computer related fields were doomed. I always found that amusing because our whole society is based on technology and will always need people to run it. Media reports and articles on websites like this didn't help either. They gave the impression that Computer Science wasgoing the way of the dinosaur when it truly was healthy.
http://religiousfreaks.com/This is just more of the H1B lobbying to raise the cap on IT staff which is wanted to keep the price of IT staff depressed.
If you look in USA, everywhere but the Valley has an oversupply of IT people, my own employer just recruited a load of experienced staff in Portland, many excellent programmers too.
I majored in computer science, but I don't feel comfortable entering it as a career field. I spent five years in the military, so I am not as cutting edge as I should be, not to mention a complete lack of experience despite being 27 years old. I buy books and keep up with things well enough to be a good hobbiest, but it is rough being in the tech world post-boom. I will go to law school, and hopefully provide a much needed technical viewpoint to the legal system that is currently strangling technological innovation in this country. I think some of the first things that law makers could do would be to reduce restrictions on people who want to study technology, such as the DMCA. As long as India and China can provide competent coders for less money, we will continue to lose jobs. That is part of globilization, and is no different than factory workers losing theirs in the last century. The key is to find the jobs that Americans can do for less opportunity costs, or that other countries can not do at all yet. Globilization is a good thing overall, as the standard of living will rise throughout the world, but it is very painful now, especially for people in the computer industry.
http://bgcommonsense.blogspot.com
*Of course, this is assuming that the U.S. has an actual shortage and the study isn't some ploy to get cheap code-monkey labor for Microsoft, Intel, et. al. I'll let my fellow slashdotters belabor that point.
It can't be both that the programming field is in danger because we're outsourcing all our programming work, leading to no jobs for programmers, AND be that we're in danger of not having enough new programmers.
As a long-time computer professional and contractor, when I went to grad school to get a masters in computer science, the tax law gave me no break whatsoever. I cannot deduct my tuition as a business expense. On the other hand, if I took some vendor-specific courses from Cisco or Microsoft, I could take a business deduction. How messed up is that?
It also seems that there are not very many Americans in my CS courses either, but there are many students from China and India. Does anyone have any comments on the fact that China and India sponsor education in their countries, whereas we in the US barely support it?
Let's see if we can figure this out. American kids aren't going into CS -- why? Perhaps because:
Did I leave anything out?
GetOuttaMySpace - The Anti-Social Network
I think this is a direct result of our colleges encouraging mediocrity and making it very difficult for advanced students to, well, "advance". Colleges are built around helping out the most mediocre students get a passing grade, and just letting the gifted students learn on their own. It is the same thing that happens in our high schools.
My girlfriend is just finishing her degree in Education, and it is horrible just how bad it has gotten. They have dozens of programs designed to helping out disadvantaged children and poor performing students, while the gifted students are left to their own devices. My boss is from Europe, and their schools (at least in Sweden in the 1980s) encourage their best and brightest. The gifted students are the ones that are going to make the biggest difference in the workplace, while the struggling students are simply going to fill up the jobs that dont take much skill.
If we want to keep up in a technologically advanced world, we have to start caring about our gifted students, not just helping the below average ones pass school.
--
-- All that is necessary for the triumph of evil is that good men do nothing. -- Edmund Burke
Doctors? Lawyers? Try business majors. Someone smart enough to major in CS and willing to do the work might as well just get an MBA, and start out making 30-50 percent more than they would with the technical degree.
Add to that the fact that a CS degree does NOT imply a career in development, and development isn't what it used to be, and you have a bunch of people thinking hard about something completely different.
My little site.
If a CEO makes $147,000 per day, well that's market forces. If technical people start to break into 6 figures annually, well that's a threat to our global competitiveness which must be remedied.
I studied CS in college and got my BA. I got out school and was immediately bombarded with hundreds of requests for 3-6 month, low-paying contractual positions for programming/systems administration/etc. What wasn't being offshored was being outsourced at ridiculous levels. I took a look around and realized the only people with truly stable positions were IT management. I talked to others and they agreed. So I went back for my MBA. When I graduate I'm going to be looking to leave the programming/administration side entirely.
When you're faced with poor, unstable job prospects and declining salaries due to offshore competition, what do you EXPECT us to do? The smart ones are realizing management (unfortunately) is the way to go. The rest will wither and die, unfortunately.
Computer Science != Software Engineering. CS is more research oriented, basically an applied math degree. CIS, IS, Information Management and Software Engineering are more where your day-to-day programmers should be coming from. Unless they are lumping these areas under CS then the statistics may be meaningless. Are we looking for researchers or people who will apply the technology?
Stalin said "Quantity has a quality all its own", which may have been valid in an industrial economy. What is not apparent is whether it is valid in a service economy. I strongly suspect, and some of the numbers I have heard about the best programmers being 10x more productive than the average programmer reinforces this, is that it is not valid to use an industrial paradigm in a service industry. But I think most managers, political leaders, economists and average Joes just don't get this. Too often projects fail beacuse to save money the work is given to the lowest common denominator in programmers and managers. Whether in-house, out-sourced or off-shored. And make no doubt about it, software is a service industry.
Finally I say, good riddance. This is as good a way to filter out the riff-raff as any. Let those who love the field be the ones who enter it and stay in. They are the ones more likely to develop the tools needed for the next generation of development, both in terms of process paradigms as well as actual software tools.
putting the 'B' in LGBTQ+
I don't want to argue about whether the perception is true or not, but rather how the preception affects the issue. From what I have heard (anecdotal eveidence, but we all have it) many people in th US are shunning CS because the perception is that you won't be able to get a job. As I said, I am not arguing reality, just perception. A lot of people assume that you will maybe get a job for a couple years before you have to train your replacement in a third world country who will make $2 an hour.
I would solve this by making companies show that there are NO Americans at all who can do the job before getting an H1B. Also, I would love to see companies that are shipping jobs away boycotted.
And All I Ask is a Tall Ship And a Star to Steer Her By
You have the wrong perspective on the education. CS is applied logic and mathematics. Read this carefully changed copy of your post if you don't understand:
"Because the field is undefined. What is a mathematician? What do they do after they graduate?
I earn my paycheck doing accounting, in all that encompasses. I went to college for a year and half before I realized that the education I was getting wasn't going to prepare me for my chosen profession.
The schools get math majors ready to be theorists ( bad ones at that ). That's it. There is a huge gap between what the schools teach and what businesses need from their accounting personel.
I'm more valuable now than I would have been had I stuck around and graduated."
Now, you can't teach problem solving, but it's hoped after 4 years in school you have some idea of how to be useful. Learning technical trivia is easy; anyone can do it. It doesn't take a genius to change an oil any more than it takes a genius to administrate a small network. However, understanding the deeper concepts (CSMA/CD!) and other principles is very useful if you are a computer scientist.
The difference between a degree and a certificate from a trade school is exactly what you mentioned; people go to a trade school to learn how to do 1 job. People go to University to learn how to solve a superset of problems, which they can apply to any job they want from a particular perspective. I can attack problems of compiler theory, networks, operating systems, programming language theory, etc, because I'm well grounded in the theory behind these concepts, and have experience (both in class and with jobs and projects I've worked on around school).
In 20 years, the tools you use will have changed dozens of times. In 20 years, Dijkstra's algorithm for finding the shortest path on a network will likely be just as useful for link-state routing models as it is now. So your final sentence, "I'm more valuable now than I would have been had I stuck around and graduated." is probably wrong, because you didn't understand why the education was useful. Maybe you weren't cut out for it, or maybe you just wanted money now. That's ok. Just don't preach it like it's the gospel truth on Slashdot.
--
Internet Explorer (n): Another bug -- that is, a feature that can't be turned off -- in Windows.
I wish people would stop using statistics exclusively from 2000, whether they be CS enrollments like here or related stats. In 2000, we were at the height of the tech bubble. Lots of people and money went into tech that should not have. In the case of people, that meant (among lots of other things ... don't want to oversimplify) lots of CS majors who had no aptitude for CS. It's not a realistic number.
What I'd like to see are multi-year numbers that give us a better idea of the trend, both pre- and post-bubble. 2000 was an anomaly. 2000 was unsustainable. 2000 was when things went kablooey. We don't want to go there again in a hurry, so quit talking about it.
It seems that a lot of the comments here see a massive paradox in the (employer) stated lack of supply of CS practitioners, and the (employee/student) stated lack of demand.
Having been through the job search process a few times (and having read the recent academic articles on the subject), it seems the problem is this. Employers in North America are no longer willing to help develop software professionals. In other professions, we see employers taking an active interest in professional development from the entry level up.
Lawyers article for a year, and have a well understood progression from articling student to partner. Throughout the process, the contributions made are appropriate for their level of progression and an appreciated, relevant part of the practice's business. As a result, the legal field has a downstream supply of experienced lawyers, and even students and fresh grads can find work.
By contrast, the tech industry seems to expect experienced developers to appear out of thin air. Industry participation in internship programs is down. Postings for entry-level and early-mid level positions are practically non-existent. Yet demand for 10+ yrs experienced developers is high. Well, guess what? Experienced developers don't just pop into existence. The industry recognizes that much of the innovative work (that they need experienced developers for) isn't amenable to offshoring. They need to recognize that by offshoring the entry-level grunt work, they are starving their future demand for experienced developers (and ultimately rendering future innovation far more difficult).