More Students Prefer Interdisciplinary to CS
prostoalex writes "With increased offshore outsourcing and continuing simplification of such tasks as writing a trivial application, Computer Science degrees are not as attractive for college students anymore, NYT finds. Students prefer interdisciplinary majors, where the programming skills are combined with solid scientific backgrounds in biotech, chemistry or business." From the article: "For students like Ms. Burge, expanding their expertise beyond computer programming is crucial to future job security as advances in the Internet and low-cost computers make it easier to shift some technology jobs to nations with well-educated engineers and lower wages, like India and China."
I think that foreign workers are better trained for computer programming jobs is incorrect. Corporations aren't pushing for more H1B workers because they are better qualified than domestic workers. Corporations want a guy who will take what they give them or else they get sent home. How much technical education is really applicable to a real world programming job? Probably less than ten percent of what is taught in higher education.
I have worked with some great H1B workers. I also have worked with some terribly unqualified H1B workers. Just like domestic workers some are good at programming and some just can't do it. I would say some of the H1B workers do more resume padding because they are desperate to stay and I would probably do it too. One H1B worker, when applying, listed the company he was applying for as one of the companies he previously worked. I guess he didn't check the name on the cut and past job he was doing because he never worked for the company.
I am not afraid to compete against foreign workers. I think it will be great for technology in general. I just want to compete on an even playing field. Let the programmers immigrate as Americans. You never hear Microsoft ask the government to allow immigration for foreign workers. They don't want to pay them more and worry about a worker leaving for another job.
We are not alone in this. The problem is not so much that they are indian or chinese (although that does bring a whole host of issues of racism/reverse racism etc), but it is impossible to manage them remotely without spending so much effort on it that you might as well bring them over on an H1-B.
Combine that with the fact that it is impossible for a US corporation to enforce intellectual property rights in China and to a lesser degree India, and its hardly susprising that US corporations are favouring English speaking developers once again.
Maybe Edsger Dijkstra was right, and CS really is just a branch of mathematics, as he argues in his paper "The Cruelty of Really Teaching Computer Science." If that's the case, it's unsurprising that you don't necessarily learn how to use $version_control_system or $Windowing_API or whatever people expect in the working world as a CS undergrad.
I bailed because I knew I didn't want to pursue graduate studies (and, let's face it, I'm not a stellar mathematician.) I'm (like many others) now doing interdisciplinary study: CS + law/public policy. If nothing else, this country seems to need more lawyers, if not good developers.
Sigh.
Becoming a plumber or electrician has way more potential these days. Work for someone for a while, then go out on your own. You can easily make $60,000 and I know some electricians who pull in over $100,000.
Those jobs (especially an electrician) are great because they're interesting, challenging and offer lots of diversity. You are also free to go out on your own without nearly the risk a techy would take trying to establish a tech company (or any other company).
As a bonus, trades will never be outsourced because their location is of primary importance.
The global economy is a great thing until you feel it locally.
I've worked with quite a few of H1-Bs. As a rule, Russians kick ass when you need to come up with a solution or solve a design problem but execution needs supervision sometimes, because once the problem is solved they tend to quickly lose interest. Russians rarely get very far beyond technical "individual contributor" positions, because they're clueless at politics and despise brown-nosing.
Indians suck at design real bad (their philosophy seems to be to do just enough to get by) but can be pretty good at execution and truly shine at brown-nosing, especially if their boss is also Indian. However, I know a couple of Indian developers who rock so hard, it's not funny (and coincidentally don't give a shit about what their boss thinks about them). But they're exceptions that only reinforce the rule.
The Chinese are a mixed bag. I only know one Chinese guy who I would say is good (and I have a very high bar for "good"), the others I've met over the course of my career had great difficulties picking up the language and thinking independently. It looks as though they need to be told what to do, down to the smallest details.
Americans are a mixed bag also, there are quite a few folks who are good, but if an American sucks, he/she sucks real hard, because Americans are ridiculously difficult to fire for non-performance.