Slashdot Mirror


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."

38 of 448 comments (clear)

  1. Immigration by FriedTurkey · · Score: 4, Interesting

    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.

    1. Re:Immigration by njh · · Score: 4, Insightful

      Yep, H1B is the modern, clean and ethical approach to slavery. ;)

    2. Re:Immigration by Austerity+Empowers · · Score: 3, Insightful

      I don't buy it, though it's not the point.

      First, I never said without college, although a number of CEOs somehow managed to trump college degrees with common sense. But it follows from my argument that such an extropolation should also be valid and I stand by it. There are lots of successful non-degree holders out there, although it's getting harder even for smart people to "break in".

      Second, I have a masters in EE. It cost me 6 additional months (due to careful planning and some strong arming of school policies) and netted $20k/yr. What's wrong with that is that it shouldn't have happened. I only did it to work the system, I had no interest in being in school or what I was learning. I spent that extra semester re-interviewing, this time featuring MS on my resume. College is breadth first, with each degree indicating a higher degree of specialization. A PhD is only an indicator of deep specialization. Do companies really want that specialization, or the feeling of safety and security that comes from having someone with some more letters after his name? Stay tuned.

      Third, the MBA. I know only one thing about an MBA: from the right school it's worth a whole lot of money, from the other schools, not a dime. I started a MBA, and dropped it when my first company started to tank. Why? The first crew to go were not the factory workers, nor the engineers, nor even the secretaries. The first to go where the MBAs in our finance, and program management groups. Is it necessary? I think not. In addition to the CEOs mentioned above, my former boss with his BS in EE somehow is a marketing director, with no formal training. In about 6 months he went from some small group in charge of an obscure portion of the world, to the second most popular market for my company (north america, sadly). Somehow common sense took him to where he needed to be, he's clearly not paper qualified for that job. He didn't even take economics as an elective! The hardest part was getting into that spot, without the paperwork. From there he seemed to move fast. Beyond what are often electives for engineers and useless liberal arts reqs, there is almost no similarity of degree programs between business majors and engineers.

      Forth, there are probably jobs in which PhD/MS degrees in the appropriate specialization are essential. They need people actively involved in research in certain areas to come up with new, unheard of solutions. Such companies are willing to take product risks on unproven work. In the drug world, those companies are often big. In the engineering world, it's usually the opposite. I have only worked in megacorps, and never worked in one in which a novel, unproven, yet elegant approach was allowed. By design, such approaches are unproven and may meet with unexpected field issues and result in an expensive recall or factory problem. Then why do these guys even want MS/PhD types? Won't those guys be horribly bored? The answer is yes, but I put such creative energies to private usage. What large megacorps actually want is the warm-fuzzy of having an "elite" engineering team. The interesting issue here, is that the companies most able to outsource, are...you guessed it, large megacorps! They can buy foreign PhDs (who really just want work) by the boatload. The small researchy start-ups have a harder time outsourcing and tend to use local labor. These are the guys who NEED specialization and live or die on new ideas, yet they seem to catch their limit.

      So in a giant circle, we're back to the issue at hand: is the motivation for such elitism the quality of employee, or the amount he is paid? I believe it's the latter. Does a given company know the credentials of every employee at Wipro, or the academic integrity of the overseas institutions which grant the individual laborers their degrees? Of course not. They're cheap, there are lots of them and they can satisfy the minimum job requirement. If it was specialization corporations wanted, overseas is probably the wrong place to look, as it's hard to figure out who is f

  2. This is BS by Anonymous Coward · · Score: 5, Interesting
    I work for a major (fortune 100) financial corporation we are de-outsourcing our development back to the US, due to the sheer incompetance of the Indian and Chinese developers we outsourced to.

    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.

    1. Re:This is BS by antifoidulus · · Score: 3, Interesting

      I think a lot of the quality problems come out of the fact that it seems like programming/IT jobs are a huge fad in India, so people who have no real interest in technology are going out and being "trained"(training = dumping a whole lot of info on them and memorizing it) by some fly by night institution and then going out and getting a job. 9 time out of 10 that person is going to suck. Not to mention that from what I have read, resume fraud over there is MUCH more common than it is in the US, so it quickly becomes next to impossible to filter the resumes. Turnover is also much more common in India than in the US, and no matter how talented someone is, if you only have them for 3 months, they aren't going to be worth much.
      It's very difficult to guage just where outsourcing stands, you have companies like Gartner who shout "Outsource everthing! It's awesome, and oh we just HAPPEN to have an outsourcing consulting division, kind of convient huh?" on one end, and you have the talentless dot-bomb era programmers who are out of a job they weren't qualified for screaming that India's software development is worthless. The truth is most likely somewhere in between.

      Outsourcing will never totally go away, but the key point to watch for is the signal to noise ratio. If there is a lot of crap coming out, it makes it much harder to find the gems.

  3. Comment removed by account_deleted · · Score: 5, Insightful

    Comment removed based on user account deletion

  4. Computer Science degrees are not as attractive by Nuclear+Elephant · · Score: 3, Funny

    Computer Science degrees are not as attractive for college students anymore

    College students have surprisingly decided they prefer drunken parties and naked women more...especially if the two are combined.

  5. this is bullshit by pHatidic · · Score: 5, Informative
    expanding their expertise beyond computer programming

    CS isn't computer programming. CS is computer science.

    1. Re:this is bullshit by linguae · · Score: 4, Insightful

      What problem? There is a huge difference between computer programming and computer science . Computer science is the study of computation, and computer scientists learn deeply about algorithms, computability, AI, data structures, compilers, operating systems, graphics, and much more. A BS or MS in CS isn't supposed to train you to be a systems administrator or a Java programmer, and that's the main problem. People enter CS majors thinking that CS is about "Java or Unix programming" and about learning how to fix computers, yet get disappointed when they realize that CS only tangentially discusses those topics. If you want to spend your time programming and fixing computers, get a MIS degree. If you want to know the science of computation, get a CS degree.

      A computer programmer is to a computer scientist as a mechanic is to a mechanical engineer. Computer programmers and mechanics do know quite a bit about Java/Unix/Win32 programming and about various different auto parts, respectively, and we cannot live without these people. A computer scientist and a mechanical engineer might not know the latest programming language/methodology and might not know everything about every car, respectively, but a computer scietists knows the theory behind those programming languages and tools, and a mechanical engineer knows how to engineer a vehicle.

  6. Software Programmers don't fix Hardware. by FatSean · · Score: 4, Insightful

    It's Computer Science. If you want to fix equipment, take Electrical Engineering or maybe a technical school can help you.

    Quite frankly, I don't care to dick arround with broken gear. That's why we have an administration group that handles all that ugly stuff.

    I can concentrate on the interesting parts: designing systems and writing code.

    --
    Blar.
  7. CS != Programming by mpupu · · Score: 5, Insightful

    When will people understand that Computer Science is not related to programming as the article says. In fact, I know a couple of great CompSci graduates who couldn't write a complex program even if their lives depended on it.

    "It's so not programming," Ms. Burge said. "If I had to sit down and code all day, I never would have continued. This is not traditional computer science."

    She's talking about code-monkeys, or Software Engineering at most. Computer science is related to research, finding new and more efficient ways of doing different tasks (new algorithms, data structures), and understanding the underlying concepts behind a computer program (programming paradigms, logic) and tools that can be applied (verification, simulation).

  8. Mod parent up by Jane_Dozey · · Score: 3, Insightful

    People seem to think that higher educations is just about a career. It's not, it's about doing something you really like. Career qualifications can be picked up later (even at a night class).

    --
    Silly rabbit
  9. Mediocrity knows no boundaries, but... by betelgeuse68 · · Score: 3, Insightful

    There are mediocre tech people on both sides of the ocean. I've worked with great home grown American IT folks and mediocre home grown American IT folks. The same can be said for various Indian IT people I have had occasion to work with.

    However I think Nicholas Carr's "Why IT doesn't matter" is more relevant in why someone should not choose to pursue a CS degree.

    In a nutshell, IT has become a commodity input, much like eletricity. Yes, it is more expensive... but not as expensive as it once was. CS degrees are largely about programning and let me tell you, most of the places that have interesting programming problems can only employ a fraction of the CS students that graduate.

    Companies whose business doesn't fall within technology employ about 90% of the IT people in the US. Frankly, a CS degree is overkill. In some ways, this type of job is more akin to positions of "skilled craftsman" of yesteryear. Yeah, I can use a set of tools to build you a piece of furniture, but don't bother we with figuring out what metals/alloys will go into making the tools themselves, that make the furniture.

    As is the constant history of mankind, we build off each other. Nothing is constant.

    -M

    PS:

    "If I have been able to see further, it is because I have stood on the shoulders of giants."

    -Sir Isacc Newton

  10. Re:In other words by grasshoppa · · Score: 5, Insightful

    However I am more concernd (a reason that I am an ex-CS major too) that the university doesnt offer a single course in PERL, Python, Ruby, PHP, or any of the currently popular languages except Java, and some C as a side benefit from some classes. Don't give me BS about the basic concepts being all the preperation you need from any language.

    Actually, this I subscribe to. Further, you can't cover all the languages in any depth that would be helpful. So you take a few languages that are widely used and have a good breadth of skills and you teach students the methods primarily, and how to learn a language secondary.

    What I have a problem with is the single minded focus on mere software development concepts. With no head for how it interacts with the hardware, you get people creating buffer overflows without even realizing it. Teach a student how to learn and the basic concepts, then go over how a compiler works and how modern x86 machines process instructions.

    They had compiler theory, but it wasn't a bachlor level course. I want that shit in the second year. Students need to know how their work affects the system.

    --
    Mod me down with all of your hatred and your journey towards the dark side will be complete!
  11. Re:In other words by theoddball · · Score: 3, Interesting
    I agree, in general, speaking as an ex-CS major. However, the CS program at my school *did* prepare you quite well for graduate study and/or academia in computer science.

    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.

  12. Re:In other words by Nasarius · · Score: 4, Insightful
    With no real training in hardware, software programmers really don't know what they are doing, or how to fix something if it goes BOOM.

    Er, computer SCIENCE should not deal with hardware beyond a couple digital logic courses. It sounds like you were looking for an MIS degree, not CS.

    University science courses are not meant to "prepare someone for the real world". Do I know how to do real chemistry research after taking sophomore organic chemistry? Not really. But I understand the concepts, which is far more important. Likewise, a computer science curriculum should deal with computer science, not too much software engineering and certainly not IT grunt work.

    --
    LOAD "SIG",8,1
  13. Re:In other words by bgalbraith · · Score: 3, Insightful

    One thing to keep in mind is about most Computer Science degrees is that they are not vocational programs. Rather, they are often geared toward understanding the mathematical and structural underpinnings of computational machines. Sure, you may learn C++, Java, assembly, whatever in the process of learning about data structures and algorithms, but those classes are not designed to teach you how to be a corporate IT developer.

    If you are taking CS because you think you will get a high-paying job right after college, and not because you are passionate, or at least interested, in prgramming and CS theory, then I would say most CS programs are going to be a rather large waste of your time, energy, and money.

  14. I'd encourage high school grads to go into a trade by digidave · · Score: 3, Interesting

    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.
  15. Re:I'd encourage high school grads to go into a tr by prostoalex · · Score: 5, Funny

    My friend couldn't find any job with CIS (Computer Information Systems) degree, so became a plumber. Pulls above $50,000. Gets splashed with shit and fecies every once in a while, but if you ever resurrected a broken database or went to a corporate strategy meeting, feels about the same.

  16. Re:In other words by netruner · · Score: 4, Insightful

    I would agree that 2 years toward a CS major wouldn't prepare you for much. However, if all your school was teaching was programming, those two years would have been better spent at a tech school toward an associate's degree that was actually in programming.

    I have a bachelor's and a master's in CS and I can confidently say that my schools prepared me well. CS encompases more than simple programming. There is a lot of study in algorithm analysis, computer architecture, OSes and real software engineering (not as in popular culture where it is interchangable with "programming".)

    There is also the issue of studying the hardware. I don't understand how any accredited program can hand out CS degrees without coursework in hardware. (in undergrad, my school taught the circuit analysis, interfacing, etc. out of the physics dept beccause we didn't have an engineering dept. - and every CS student was 2 credits short of a physics minor, math minor was automatic.)

    If the program you were looking at was as you describe, I would speculate that they were probably not an accredited program.

    --



    DISCLAIMER: This post was not checked for speling and grammar- if you complain- you're a whiner
  17. Re:CS Programming w/ professions by Animats · · Score: 3, Informative
    Computer science is really about the understanding and development of algorithms. And there really aren't that many people who do that any more.

    I'm one of the few. I've done proof of correctness systems, image analysis algorithms, operating system design, game physics algorithms, robotic control algorithms, and network congestion algorithms. I've been lucky enough to be able to do this without having to work in academia. I do have an MSCS from Stanford, which is a great credential, although the education wasn't really that good.

    But in most areas of computing, the basic algorithms already exist. (Some of them keep being reinvented; watching the XML fans reinvent LISP is amusing.) Not that many employers really need algorithm development people. I have no idea where you'd go as a computer scientist today. All the old labs (DEC, HP, IBM, PARC) are dead or shadows of their former selves. It's almost down to Microsoft, Google, or academia.

    Actually, I'd recommend getting a strong background in numerical analysis and statistics. It's useful to know number-crunching cold. Engineering, financial, database, search, and game work all need number-crunching. It's more useful than, say, combinatorics.

    If you're really into theory, you might want to take a new look at proof of correctness. I headed a team to build a proof of correctness system in 1980-82, and it worked, but it was just too slow on a 1 MIPS VAX. 45-minute proof runs for 500 lines of code. Today, that would take one second. It's time to work in that area again. There's some good proof of correctness work going on the hardware area, but not much for software.

    (Incidentally, if you think proof of correctness is impossible for undecidability reasons, you're wrong.)

  18. Re:Well, I called it. by merreborn · · Score: 4, Insightful

    In 20 years C++, Java, and .NET likely won't be cutting edge anymore (we hope now). So those skills don't work to well... you need to retrain anyway.

    Yeah, and? A real programmer is not "A C++ Programmer" or "A Java Programmer". A real programmer can attain a level of proficiency equal to that of his/her perfered language in *any* language in a matter of months, if not far less. "Retraining" is just part of being a programer.

    I started programming at my current job -- your standard LAMP operation -- six months ago. I'd never touch PHP, or any query language before in my life. My boss has been using both for at least 2 years, and our other developer claims 5 years of experience. In 6 months, I've become the go-to guy for both of them -- I can (and consistantly do) rewrite the inefficient parts of their code to execute exponentially faster, and make it much easier to read.

    Real programming is a fundemental understanding of how to write algorithms efficiently, code clearly, picking the right tools for the job, and knowing how to use them correctly. You never have to "retrain" any of that.

  19. Dijkstra said it best... by httpoet · · Score: 3, Insightful

    "Computer Science is no more about computers than astronomy is about telescopes."
  20. Re:In other words by putaro · · Score: 4, Insightful

    This has always been true. However...

    I finished a CS degree back in 1991 while working as a kernel developer (this is pre-Linux. I worked at a minisupercomputer manufacturer with a professional development team and the guys who designed the processor and other hardware). As a result when I finished college (after many years) I had a firm grounding in CS theory, a pretty solid knowledge of hardware and techniques, a lot of knowledge about 4.2 BSD internals and a lot of good knowledge about how to turn out software in a team environment.

    After 14 years, what can I still use from 1991?

    CS Theory - still the same baby. I don't pull it out often but when you need it, you've gotta know it.
    How to work in a team/ship software
    Basic computer design/electronics

    The other stuff is just technology. It comes and it goes. Every piece of hardware that I knew well from 1991 is obsolete. I can still solder but surface mount is damned hard to do by hand. 4.3 BSD internals? Not super useful.

    When I was in school I had similar complaints to yours. I hung in and finished my degree because I didn't want to spend the rest of my career explaining why I didn't have a degree. Now, I'm really glad I did. The longer you stay in the industry the more you will appreciate the theory side of things. It's really a whole different thing from learning technology and it has much longer term value.

  21. Re:Computer Engineering by FatherBusa · · Score: 5, Insightful

    I remember having a conversation with my father years ago about CS grads. He was a software engineer/programmer at a tech company in Cambridge, MA, and had gotten to the point in his career where he was responsible for lots of hiring decisions. Being in Cambridge, they basically had their pick of the Ph.Ds coming out of the CS program at MIT. Once I asked him what they did with newly-minted Ph.D.s in CS. He said, "Retrain them."

    I was surprised by this, and so I asked him if he thought all those years of CS education were essentially useless. "Oh, no," he said. "They're worth their weight in gold. They'd spent years working through extremely abstruse problems, and they'd learned how to absorb massive amounts of information quickly. Basically, they knew how to learn anything. Those guys would know nothing about building actual, production-level software for delivery to a customer. But they'd learn that quickly, because the foundation was strong."

    Now that I am a professor (of English, not CS), I find myself taking a similar view of university education. It's not the content, per se (though certainly, the content is important), but the habit of mind one acquires by being confronted with difficult problems and issues over and over. If you want to learn VB or SQL, buy a book. If you want to think differently--more deeply and with fewer jerks of the knee--about the world, about engineering, about literature, about art, go to a university and let it change you.

    Of course, I am one of those who did pursue an interdisciplinary degree of sorts (I use computers to study literature, and I teach software design in an English department). But that is another story . . .

  22. Re:Well, I called it. by frenetic3 · · Score: 3, Insightful

    This is a troll, but sigh, I'll bite.

    Thinking that a CS degree is a "dead end" is the wrong takeaway. The answer is that it depends on what you want to do. Talented architects and computer scientists will always be in demand, as there are lots of interesting problems to solve, and true CS talent is scarce (and, amusingly, will only get scarcer over the next few years as enrollment in CS programs stays low.) The theory will still be much the same in 20 years, even if we're not programming using today's technology.

    In addition, the assertion that "the days of a geek making it into upper management are over" is patently false. Google, Microsoft, Apple and Oracle are obvious counterexamples, and I'm sure everyone else can come up with more. If you want to have have a leadership in a company that produces new technology, you had better be a geek. On the other hand, if you're no more than a typical rank-and-file coder, things do not look good.

    However, most pure CS students definitely lack communications skills, business sense, and an understanding of social graces and human behavior -- and these things aren't played up enough in most CS curricula. Your great ideas aren't worth much if your coworkers can't stand to be around you or are laughing to themselves when you're talking or presenting.

    The good news is geeks can often pick up the business side (CEOs of aforementioned companies being good examples), but I've never met a pure business major who could truly pick up the important CS stuff like algorithms and systems analysis (your brain just stops being able to pick that stuff up after a while.) The pure management majors here at MIT learn to write great memos and know how to dress up for interviews, but that's about it (compared to the science majors) -- they can talk the business side, but are clueless about the underlying technology. (To be fair, most CS majors around here can't form complete English sentences or withstand direct sunlight.)

    I'm glad I started out towards the geek side and stayed in CS, because picking up the business side isn't that intellectually hard --it's just different. And you'd be surprised how much your CS intuition applies to the business side as well -- a lot of my pure business buddies just don't understand logic, systems, or basic concepts of probability, for example, and consequently make stupid business decisions. Joel Spolsky has a good take on both sides of the issue.

    Anyway. A CS degree is still very valuable, but only (or especially so) when paired with the ability to communicate and lead others.

    -fren

    --
    "Where are we going, and why am I in this handbasket?"
  23. Two commandments by overshoot · · Score: 3, Insightful
    I currently have three kids at University. I told them from the beginning to concentrate on two things:
    • Learn cool things, and
    • Have fun doing it.

    So far, seems to be working. It's great to have one of your children call up too excited to speak clearly about some utterly awesome thing s/he's just learned.

    --
    Lacking <sarcasm> tags, /. substitutes moderation as "Troll."
  24. Re:In other words by Fareq · · Score: 3, Insightful

    The problem isn't starting with Java.

    It's *ending* with Java. I graduated with a degree in Computer Science. I learned Perl, C, C++, Java, and the tiniest bit of LISP (ugh!) while I was there.

    However, it is entirely possible to graduate from my school with a degree in Computer Science knowing only one language. Java.

    That's a problem, because there's way more to software engineering than just Java. And no, they didn't teach how the JVM actually worked. Just enough to get people to be able to compile their code.

  25. Re:In other words by Nasarius · · Score: 3, Insightful
    How funny, I thought Education was to teach and prepare people...

    Good CS programs don't crank out good little code monkeys, just like good undergrad chem programs don't produce lab techs.

    In universities, you learn the concepts in class, and you learn how to apply it out of class, through internships, working with professors, tinkering with open-source projects on your own, etc. If you don't want to bother with the concepts, you can go to a trade school and learn all the trendy languages and "technologies", I'm sure.

    --
    LOAD "SIG",8,1
  26. Re:In other words by bladesjester · · Score: 4, Insightful

    I find these comments of "they don't learn anything other than math" to be weird as well and I'm not in California (I'm in Ohio).

    Yes, I had the standard calc, matrix theory, stats, algorithms, etc.

    However, I also covered assembly (mine was on Motorola instead of x86), C/C++, some Scheme, operating systems, internetworking (from a former minion of Comer), databases, language and syntax creation, and quite a few other things including group software development for clients (from gathering requirements through completion).

    Something tells me that these people are just looking for the worst examples or are pulling things out of their nether regions and don't know what they're talking about.

    --
    Everything I need to know I learned by killing smart people and eating their brains.
  27. Re:In other words by putaro · · Score: 4, Insightful

    My Computer Science department (UCSD - this was in the late '80s) didn't offer ANY language courses . We were expected to learn assembler, Pascal, C, C++, LISP, and whatever else we needed for the courses we were taking as a part of taking the course. Most of our classes involved a lot of coding.

    You will NOT pick up the theory side without a lot of work. Basic data structures, perhaps, but combinatorics takes some work. Language design, compiler design, etc. are non-trivial.

    Pascal is mostly a dead language now. The assembler we learned (PDP-11) is dead. Out of Perl, Python, Ruby and PHP at least one will be a dead language in 15 years. Don't waste your time in college on learning languages. Instead, learn how to learn new languages and new things.

  28. Depends on the country I guess by melted · · Score: 3, Interesting

    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.

    1. Re:Depends on the country I guess by Thomas+Miconi · · Score: 3, Insightful

      I also find that as a rule, Americans tend to build extravagant stereotypes and generalise individual behaviours to entire nations - in other words, attempt to extract general information from statistically insignificant samples.

      Of course there are exceptions, and I have met a few Americans who understand that if your sample is large enough you'll find pretty much the same kind of people all over the world, but they're more like "exceptions that only reinforce the rule".

      </sarcasm>

      Thomas-

    2. Re:Depends on the country I guess by BVis · · Score: 3, Informative
      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.
      Why do people have this impression? It's just as easy to say "You're fired, get out" to a US citizen as it is to anyone else, as employment law (such as it is) is biased in favor of the employer in nearly every state. In some states, when an employer is asked for the reason for the termination, the ex-employee is told "We don't have to give a reason", a statement which is true and accurate, since the employee is considered to be an employee "at will", and employment contracts are unenforceable.

      Why do people think it's harder to fire Americans?
      --
      Never underestimate the power of stupid people in large groups.
  29. Re:Well, I called it. by the-build-chicken · · Score: 3, Insightful

    I can (and consistantly do) rewrite the inefficient parts of their code to execute exponentially faster, and make it much easier to read.

    Ahh, so you're the smart-a$$ know-it-all that keeps deleting the fix I put in 5 years ago to solve problem X with client Y that only occurs in situation Z, and replacing it with that wonderfully elegant piece of code you just read about in Fowlers latest book...which will remain in place until Booch releases a book contradicting it at which time you'll probably rewrite it again, blowing away the fix that I put in again after taking a 4am call from client Y wondering why their lastest release crashed with a bug that was apparently fixed years ago :)

    Good programmers rewrite bad code because they know they can write it better...great programmer realise that the person that originally wrote it was probably just as smart as they were and the reason for all those "ugly" pieces are the real world saying hello.

  30. Well, Well, This Is Timely by Master+of+Transhuman · · Score: 4, Funny


    One of my teachers at City College, who runs a consulting firm, told us Monday night he is moving his development side to India. He's keeping the support operation here, but the programming jobs are going to India.

    He says his building landlord wants another rent increase, and his programmers want more money or they'll go work for Google.

    Fine - he can get a building in India for 30% of what he's paying here - a bigger building - and he can get equally qualified programmers for $1200-1500/month there vrs $4k, $5K, $6K, $7K per month here. It's a no-brainer for him.

    Meanwhile, a number of the more advanced IT classes at City College have been cancelled this semester - not enough students showed up to fill the minimum fifteen seats to justify the class. Even tonight's class, on Active Directory, barely got enough seats to meet the minimum.

    Meanwhile, as I pass Hastings College of the Law on my way to City College, they seem to be full of students.

    Face it, technology leadership will pass to Asia and Europe over the next decade or more, if it hasn't already. Like the US in "Snow Crash", we're only good at movies, music and delivering pizza in thirty minutes or less.

    And music-wise, we're not that good either, since the Corrs new album won't be released in the US until at least next spring. Atlantic Records has gone into the toilet, apparently, with Jason Flom ushered out, who discovered the Corrs among many others.

    If the Corrs can't be hits in the US with three hot babes and five hot guys because they're Irish and occasionally play an Irish trad instrumental between the pop rock (which they play on their own instruments and write the songs themselves) (especially given the number of Irish in this country), somebody explain this bimbo Shakira to me. She's from God knows where in South America, shakes a mean ass, and otherwise is indistinguishable from every other rock bimbo out there.

    Meanwhile, as far as I can tell from the daily press, there are only three "musicians" in the entire United States: Britney, Christina, and Jessica. Maybe Mariah, makes it four. And I use the term "musician" or "singer" loosely.

    Oh, and the octagenarian Stones - whose leader, Mick Jagger, once said the Corrs blew them off their own stage when they opened for the Stones.

    Meanwhile, the only jobs left for techies is cleaning spyware off fucked up PCs for clueless Windows users.

    --
    Richard Steven Hack - This sig is TOO GODDAMN SHORT TO DO ANYTHING USEFUL WITH! MORONS!
  31. Re:Computer science has nothing to do with calculu by Scarblac · · Score: 3, Insightful

    It's computer science, not a programming course. Software engineering is but a tiny part of computer science, so it's no surprise that the coverage is limited.

    --
    I believe posters are recognized by their sig. So I made one.
  32. Social discrimination is not inherently bad by typical · · Score: 3, Insightful

    I agree that he's extrapolating excessively.

    On the other hand, I'd say that given many common social/economic/technological factors, that there probably *are* a number of general statements that can be made that apply to a majority of each population.

    For example, I, as probably most other folk, doubt that there is anything inherently genetically flawed in black people. I don't think that a black guy can't become a really good engineer, nor do I think that there's anything in the genes that's going to really stand in the way.

    Yet if you sit down and read through your US census, you'll discover that, sure enough, blacks are well behind whites and Asians in getting advanced technical jobs.

    So why is this? We assume, for the sake of discussion, that it's not genes. So it must be something from society. Perhaps the generally lower economic status of blacks stemming from their commonly slave status in the US a hundred and fifty years ago has something to do with it. Perhaps it's simply social phenomena that affect people along racial lines (I can identify with character X in the mass media because he appears like me.) Who knows? All I can say is that there certainly is a difference.

    There is a *far* larger difference in the society that a Chinese student will grow up in versus an American student than there is between a black American student and a white American student. In addition, an H1B or immigration status itself acts as a filter. If you view working in America (or learning English and doing business with people overseas) as being an arduous but career-building step, there is a natural filter to bring in people with drive and ambition -- maybe that means more brown-nosers, maybe that means more enthusiastic people. It's certainly not unreasonable to do breakdowns based on country of origin (and hence society). It may not be feasible to do it based on such a small population size, but I don't think that the very practice can be condemned. In addition, most people on here seem to have had similar observations.

    I haven't worked with Chinese H1B folks, but I have with H1B and outsourced Indians, and I agree that my general perception has been similar to what the other posters have said -- exceptional drive and a lack of complaining, but often sub-par technical ability, and a willingness to misrepresent facts. Doesn't mean that this is true of all Indians, but may well be true of a very ambitious group that rapidly started conducting business in a new country to build careers. [shrug] I've found the same snappiness mentioned by others here in the Russian immigrants that I've worked with, but also the same strong technical ability. The Indians tend to work closely in teams, the Russians lone wolf (as in, they are on a team, but they rarely seek advice or ask questions of others). Could be coincidence, I don't know. But it does line up with the other things said here.

    As for the comment about Indians interacting differently among each other, I hardly think that this is a stretch. If you know your native tongue better than a foreign one, you may well interact more and act differently when talking with people with whom you can converse in the same tongue.

    --
    Any program relying on (nontrivial) preemptive multithreading will be buggy.