Forgot your password?
typodupeerror
Education Programming IT Technology

More Students Prefer Interdisciplinary to CS 448

Posted by Zonk
from the more-than-just-programming dept.
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."
This discussion has been archived. No new comments can be posted.

More Students Prefer Interdisciplinary to CS

Comments Filter:
  • Immigration (Score:5, Interesting)

    by FriedTurkey (761642) * on Tuesday August 23, 2005 @05:40PM (#13384052)
    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.
    • Re:Immigration (Score:5, Insightful)

      by njh (24312) on Tuesday August 23, 2005 @06:25PM (#13384453) Homepage
      Yep, H1B is the modern, clean and ethical approach to slavery. ;)
    • 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 ex
      • by Thomas Miconi (85282) on Wednesday August 24, 2005 @04:10AM (#13387502)
        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-
        • by typical (886006) on Wednesday August 24, 2005 @08:53AM (#13388694) Journal
          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.
      • by BVis (267028) on Wednesday August 24, 2005 @07:21AM (#13388074)
        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?
        • AFAIK (Score:3, Interesting)

          by melted (227442)
          AFAIK, when you kick out an H1-B he/she has to leave the country in 10 days. It's a bit hard to sue the company within just 10 days. Americans have lots of time on their hands, and they can bring all sorts of trouble. So big companies usually choose to carefully document poor performance of US employees for a couple of years before firing them.
  • In other words (Score:2, Insightful)

    by grasshoppa (657393)
    The CS major taught at most colleges don't prepare you for jack nor shit.

    I can attest to this. I took 2+ years in college towards my CS major before I gave it up. I had been working the entire time in various tech jobs, and I was picking up on just how little college would prepare someone for the real world.

    I did "audit" several higher level courses, and while they provided good information, it's sort of half a degree. With no real training in hardware, software programmers really don't know what they ar
    • I think it is fine for some people just to focus on software, that is why you work with other people who understand the hard-ware. 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. What you really need is practice pr
      • Re:In other words (Score:5, Insightful)

        by grasshoppa (657393) <skennedy@tp n o - c o .org> on Tuesday August 23, 2005 @05:56PM (#13384191) Homepage
        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.
        • Re:In other words (Score:3, Insightful)

          by Umbral Blot (737704)
          Thats a good point, and I think the problem here is that students are starting with Java. Simply learning C first teaches you a lot about how the machine works. Also I consider bufferoverflows and instruction sets and what not to be part of the software side of things, not the hardware side. Hardware to me is more like the difference between different kinds of RAM, bus speeds, memory mapping ROM, ect.
      • Don't give me BS about the basic concepts being all the preperation you need from any language.

        It's not BS. My course focussed on general programming language principles, and now I can move reasonably effortlessly between languages (and in most cases, paradigms) without too much bother. Compare this to a course teaching, say, Java and PHP, where you'd come out knowing how to program Java and PHP.

      • Re:In other words (Score:5, Insightful)

        by putaro (235078) on Tuesday August 23, 2005 @08:52PM (#13385596) Journal
        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.
      • Re:In other words (Score:3, Insightful)

        by CharlesEGrant (465919)

        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. What you really need is practice programmming in new languages, followed by more practice. Theory is nice, but if your networking classes never teach you how to code ar

    • by FatSean (18753) on Tuesday August 23, 2005 @05:53PM (#13384163) Homepage Journal
      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.
      • How about when the software programmer works for a small company that makes embedded systems, and BOTH hardware engineers (yes, there were only two in the whole company) are busy with a high-profile customer issue? Ah, those were the days ... long days, the infrequent soldering iron burn, the frequent popping of capacitors on power supplies. Best job I ever had.

        Besides, I find that if you know something about hardware, you're a little more sensitive to how you write your software. Things like power con

    • Re:In other words (Score:4, Interesting)

      by theoddball (665938) <theoddball@@@gmail...com> on Tuesday August 23, 2005 @06:02PM (#13384239)
      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 [wikipedia.org], 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.

    • Re:In other words (Score:5, Insightful)

      by Nasarius (593729) on Tuesday August 23, 2005 @06:03PM (#13384251)
      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.

    • Re:In other words (Score:3, Insightful)

      by bgalbraith (741719)
      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 c
    • Nice troll attempt, but try again. You dropped out before the good stuff and are comparing computer repair jobs to software engineering jobs. Sorry bub, but that's a no-go
      I assume you're upset about something, but slamming 'the system' doesn't really get you anywhere.

      The CS major taught at most colleges don't prepare you for jack nor shit.

      Umm, I have a CS degree and did just fine. Learned a hell of alot about the theory and problem solving techniques. Wasn't the same stuff I learned in the real world,
    • Re:In other words (Score:5, Insightful)

      by netruner (588721) on Tuesday August 23, 2005 @06:14PM (#13384344)
      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.
      • Hear, hear. A sound knowledge of algorithms and data structures is constantly useful in everyday programming.

        I've noticed that only people without such knowledge think it's not useful. They're the same people who come up with such ugly, clunky, brittle solutions to problems that have been brilliantly solved for many decades.

        They're the same people who do a full bubble sort to determine the median value of an array.

        It's a pity the OP quit after two years. The high-level theoretical stuff is where it re

    • Re:In other words (Score:5, Insightful)

      by putaro (235078) on Tuesday August 23, 2005 @06:26PM (#13384459) Journal
      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.
  • This is BS (Score:5, Interesting)

    by Anonymous Coward on Tuesday August 23, 2005 @05:44PM (#13384091)
    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.

    • More annecdotal evidence:

      I just interviewed at a company that basically wanted me to completely rewrite their web app. The original code base was a complete mess, and impossible to maintain. My job would be to rewrite it in OO-style and make it modular. Who originally wrote it? It was outsourced to an Indian company.
      • Re:This is BS (Score:3, Interesting)

        by bleckywelcky (518520)
        Exactly. I was writing up a customized web store in html/php interfacing with mysql for myself (partially for fun ... had never done one before). I had the thing set up beautifully, all the process flow made sense, variables made sense, documented nicely, the whole thing was as modular as can be and ran smoothly. About 3/4 of the way through (with slow process since I did this in my spare time), I decided to get serious about running the web store as a business. So I had some Indians do the whole thing. Whe
    • Re:This is BS (Score:4, Interesting)

      by antifoidulus (807088) on Tuesday August 23, 2005 @06:18PM (#13384379) Homepage Journal
      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.
    • I got step 2 (Score:3, Insightful)

      by Psionicist (561330)
      Thanks alot for telling the whole world this...

      1. Tell the world there will be no computer related jobs in the future.
      2. Wait for the nobodys to choose other careers.
      3. More jobs for real computer geeks.

      Play along folks.
    • Re:This is BS (Score:3, Insightful)

      by beforewisdom (729725)

      I work for a major (fortune 100) financial corporation we are de-outsourcing our development back to the US, due to the sheer incompetence 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 chines (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

    • is one of the biggest reasons why jobs are coming back. The outsourcing numbers are not so compelling anymore, so sanity is beginning to win over beancounting again.
  • C.R.E.A.M. (Score:5, Insightful)

    by cloudkj (685320) on Tuesday August 23, 2005 @05:46PM (#13384099)
    Sigh.... these days, everyone still abides by the Cash Rules Everything Around Me principle. Why not just do something you're passionate about?

    "Follow your heart and the money will follow." That was the most valuable piece of advice I got from my first CS professor at Berkeley more than 4 years ago.
    • Mod parent up (Score:4, Insightful)

      by Jane_Dozey (759010) on Tuesday August 23, 2005 @05:54PM (#13384179)
      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).
    • Why not just do something you're passionate about? For most people, the thing they're most passionate about is... cash!
    • Re:C.R.E.A.M. (Score:3, Insightful)

      by CoolMoDee (683437)
      Getting a degree in something you are not passionate about is about the stupidest thing one could do. I mean, this degree, in theory at least, is going to be what you do until you retire in one form or another. Do you really want to be doing something you aren't passionate about for the rest of your life?

      Going to school to learn something about something that interests you makes all the difference in the world.
    • Same advice I give to any kid willing to listen.

      Fortunately, mine seem to have listened. Will wonders never cease?

    • "Follow your heart and the money will follow." That was the most valuable piece of advice I got from my first CS professor at Berkeley more than 4 years ago.

      I can't say that's true for my girlfriend[1]. Her masters is in Fine Arts ( poetry ).

      For many people, college is an investment. Yes, it's good to do something you're passionate about, but it's also good to pay the bills.

      [1] Insert joke about how no true /.er has a girlfriend here.

    • Two commandments (Score:4, Insightful)

      by overshoot (39700) on Tuesday August 23, 2005 @06:34PM (#13384545)
      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.

  • by Nuclear Elephant (700938) on Tuesday August 23, 2005 @05:46PM (#13384100) Homepage
    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.
  • Well, I called it. (Score:2, Interesting)

    by digitalgimpus (468277)
    I said that 3 years ago. Everyone here, and on other sites said I was a "nutcase", or "moron" or "idiot".

    I'm in my senior year going for a Business Management Information Systems (MIS) degree. IMHO way more useful. I contribute to open source projects like Mozilla Firefox for extra coding experience as well as a few personal projects.

    End result:
    I know a fair amount of the technical side of things. AND the business side of things.

    Problem with a CS degree is it's a dead end job. The days of a geek making
    • by Com2Kid (142006)

      Problem with a CS degree is it's a dead end job. The days of a geek making it into upper management are over. Sr. Programmer is as high as most will be able to get.

      You don't get it do you? If I wanted to be in management, I would GO into management, get an MIS degree or something. It has been said that entering management is the death of a programmer.

      The technology evolves over time. 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... y

    • How about John Carmack? :) Not sure whether he's a CS major or what - but definitely a hard-core geek. He seemed to make it.

      After college, one finds out the degree ISN'T everything.

      It's fine to pick a degree if you want to climb corporate ladders and stuff - but in my college many MIS majors still couldn't program their way out of a paper bag.

      Conversely, years after my CS major, I'm now majoring in EE for fun. I think EE is better because it teaches hardware at the same time and many EE majors I met are
    • Programming languages are a mere subset of what you learn with an actual computer science degree. Shifting technologies aren't a big deal, since they generally adhere to some basic principles.

      A decent computer scientist can look at a new programming language, generally figure out which principles it works off of that he/she is most likely all ready familiar with, and be laying down code within hours. Obviously it could take years to truly master, but given the small amount of time needed to become familia
    • by merreborn (853723) on Tuesday August 23, 2005 @06:17PM (#13384369) Journal
      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.
      • Obligatory Real Programmer [jargon.net] story.

        Isn't it odd that it's the opposite of your definition? Maybe that's part of the change in students' attitudes...
      • by the-build-chicken (644253) on Tuesday August 23, 2005 @09:00PM (#13385645)
        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.
    • by frenetic3 (166950) <.houston. .at. .alum.mit.edu.> on Tuesday August 23, 2005 @06:33PM (#13384531) Homepage Journal
      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 [joelonsoftware.com].

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

      -fren
  • "simplification of such tasks as writing a trivial application,"

    What's the most trivial application is a business is putting out on the market? I think there is no such thing as a trivial application when it's the interface from the customer to the company.

    Take eBay's Turbo Lister software (please!). They replaced a stable and easy to use Mr. Lister software that was working nicely, and then to add more features they created a whole new product and shipped it before it had even half of the serious bugs ou
  • Interedis is better beause, to be brually honest, most programmers will be working on business applications. With business apps, domain knowledge is more important than technical skill.

    Why?

    Because you can always learn technical skills. Pick up a book and read. Anyone who is any good should be able to pick up a new language in a few weeks.

    Domain knowledge, though, takes a ridiculous amount of work to gain. And once you have it, you can apply those programming skills to problems inside your domain and make mo
  • this is bullshit (Score:5, Informative)

    by pHatidic (163975) on Tuesday August 23, 2005 @05:50PM (#13384138)
    expanding their expertise beyond computer programming

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


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

      You just stated the problem.
      • by Nasarius (593729)
        You just stated the problem.

        What problem? If you want to learn "computer programming", you're free to go to a trade school.

      • by linguae (763922) on Tuesday August 23, 2005 @06:26PM (#13384460)

        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.

        • by servognome (738846)
          A computer programmer is to a computer scientist as a mechanic is to a mechanical engineer

          Actually the difference is even greater. Programmer:Comp Sci is equivalent to Mechanic:Physicist.
          Mechanical engineering equivalent in the programming world is software/computer engineer.

          A computer scientist or physicist can spend their entire career being productive without solving or dealing with a real world problem. CS doesn't even necessarily involve computers (think encryption algorithms)

    • "Computer Science is no more about computers than astronomy is about telescopes."
  • I can only speak from my own experiences, but I felt a Computer Engineering degree (comp. hardware + software) was a well-rounded approach, and still gave me good in roads into the software industry (which I vastly prefer over hardware).

    I personally got a lot more out of the programming courses in CompE than my CS courses.

    I'm not trolling, and might have just been my school, but the Eng. students were... better than the CS students I ran into. A lot of long-hair computer freaks in CS, and the profs w
    • by FatherBusa (139333) on Tuesday August 23, 2005 @06:30PM (#13384502) Homepage
      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 . . .
  • CS != Programming (Score:5, Insightful)

    by mpupu (750408) on Tuesday August 23, 2005 @05:53PM (#13384164)

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

    • Re:CS != Programming (Score:3, Informative)

      by Umbral Blot (737704)
      Well no wonder these people aren't getting hired. When my boss tells me to go write a component I don't reply to him with a study about the most efficient way of implementing it, nor a report on the "paradigm" it belongs to. No, I just write it and debug it, which lets the whole project move forwards. In fact sometimes the most effficient implementation isn't desireable for a small task simply for clarity, and to speed up the time it takes to write the code.
    • Does an employer give a shit about hte science or about someone who can code well to solve its various problems?

      No wonder these no name certification schools in India are attractive? They actually learn how to program.. shock.. and many are MBA students who have a solid business background. Geeks do not understand business buzzwords that those who pay them to write the code.

    • by jschottm (317343)
      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)

      Not that I disagree, but out of curiosity, what would you say computer scientists have added to the world in the past decade and change in the above fields? My late 1970s algorithm books are very similar to my mid 1990s algorithm books. Our databases are predominantly based
  • I'd guess that the real reason isn't outsourcing or anything like that. It's that most software is developed in-house at non-software companies. A developer who actually uderstands the field in addition to knowing how to write code is going to do better in these jobs than a brilliant coder who lacks an intuition for what the software is supposed to do. Since someone with a biotech background can learn a little programming more easily than a programmer can learn a whole lot of biotech, new graduates have to
  • I got a B.S. in mathematics with a speciality in Numerical Analysis. My first job was writing database applications. Learned C later.

    I can't write device drivers, but it's not a bad career route.

    I think more people should just take pure maths with an applied bent.
  • Question for you hardcore CS people (i.e., not 'programmers' but 'computer scientists') - would you consider it better that students take CS classes in order to better relate their 'real' profession to the benefits of CS theory (i.e., engineering, problem solving and reasoning skills) and possible application, or is this actually a problem - we are lacking Computer Scientists per se, who presumably (?) are more focused on engineering than application.

    I am in an MS program now, but not to become an engineer,
    • by Animats (122034) on Tuesday August 23, 2005 @06:15PM (#13384356) Homepage
      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.)

  • by betelgeuse68 (230611) on Tuesday August 23, 2005 @05:54PM (#13384180)
    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
    • Things are improving for IT workers.

      The market is just overeacting from the .com bubble when they had to lay off everyone in IT and save costs.

      The pendelumn is now swaying back where businesses that do not have their IT aligned with their bussiness processes are not being competitve.

      Many IT systems installed in 1999 for the year 2000 bug are aging and need some maintaince.

      They are hiring again and what some guy's book that focuses on short term view of business where things happen in quarters is irrelevant.
  • They're finding this out? Now?

    Sheesh. Here I am with a background in engineering physics, a degree in CS, and I'm having a blast designing you-don't-want-to-think-about-how-fast analog transistor circuits 35 years after high school.

    Nice of them to notice.

    • Physics is the best rounded technical discipline to study IMHO. Typically, it is not as difficult for a physicst to migrate into engineering (mechanical or electrical), or even computer science rather than the other way around.

      I'm biased of course, being an experimental physicist by training, but I've also witnessed my physicist colleagues have no trouble shifting careers like I have.
  • China and India form a tech-industry alliance, as the Prime Minister of India once suggested?

    http://www.forbes.com/home/newswire/2003/06/26/rtr 1011719.html [forbes.com]

    Will the US THEN finally wake up and realize that we have done far more damage to our economy and our standing as a superpower by "free trade" than by hitting offshoring with crippling fines and sinking that ship of death?

    And yes, outlawing offshoring precipitously would force companies to hire and train domestically. It WOULD increase our base of educat
  • education fits in well with this. I think that the CS degree should be split into 2:

    One degree would be theoretical with a lot of math, hardcore analysis of algorithms etc. as well as getting the student to choose a specialization: AI, algorithms, supercomputing etc. There would be a lot of "re-inventing the wheel" type assignments because it would help the student discover how a lot of the algorithms really work.

    The other degree would be an applied degree, this would focus soley on applied CS. They stil
    • However, I think that this degree should ONLY be allowed if the student majors in something other than CS as well, ie business, chemistry, even a foriegn language. They could then take their CS knowledge and apply it in new and interesting ways in their chosen field.

      To an extent, they do this at the college that I graduated from. When I chose CS as a major, I was required to pick an area of special interest (ASI) that correlated to another department at the school. In this ASI, we're required to take a
    • One degree would be theoretical with a lot of math

      Yeah well that's great and all, and I'm not saying it wouldn't help the industry. But until you can get companies to hire these sorts of people and get past the "ship it and forget it" and "first to market" bullshit that dominates, having this degree available is like pissing in the wind.
  • That's nothing new. It's been done for many years now at my Alma Mater, Yale. All our classes were divided into 4 groups. Group I was the most artsy/literature heavy, Group IV had the hard sciences, math, and engineering and the groups progressed in a scale. We were all required to take a certain number of classes from each group to graduate plus proficiency in one foreign language. Even though I was a CS major, only 1/3 of my classes were actual CS classes. I'm not the best programmer in the world bu
  • by digidave (259925) on Tuesday August 23, 2005 @06:04PM (#13384255)
    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.
    • by prostoalex (308614) on Tuesday August 23, 2005 @06:11PM (#13384319) Homepage Journal
      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.
      • But there's really a lot of $50,000+ jobs for programmers and/or CS majors. It amazes me when people can't find a job when there are so many available. There are hundreds, thousands in some states, that go unfilled for extended time periods. I've yet to see this shortage of jobs, maybe I got lucky, but there are plenty out there, as even at current jobs I scan the market regularly for opportunities.
        • Yes, there are zillions of listed jobs. However, The vast majority of those listed jobs do not really exist, since they are either stale and already filled, or prelistings for projects that will never happen. Either that, or HR has such a bad filtering system that they reject all the good candidates. I have worked on military systems for >10 years. Northrop Grumman alone has >2500 jobs open. You would think that ONE of those would fit my resume like a glove right?
  • Getting just a plain CS degree is like getting a degree in hammer. You have to know how to use that knowledge to create something people want to buy.
    Hammers are used to build things, if you build a house people might want to buy it. Build a hunk of nails and wood, not too many are going to buy it. Unless you convince people it is an object d'art.
    Knowing about loops and control structures is good, but if you can't create and upgradeable project, comment your code and work according to ICD and requireme
  • I'm studying Computer Science and Physics at the University of Leeds, with the intention of gaining a place on a pilot training course after graduation.
  • So the students who get fad degrees based on expected income are drifting away from programming towards more traditional business careers. The only difference between now and a few years ago is that the reason has changed. No longer the DotCom collapse, it's now offshoring that's driving the switch. How surprising.
  • by jtwJGuevara (749094) on Tuesday August 23, 2005 @06:13PM (#13384338)
    Read their commentary at http://news.com.com/Computer+science+majors--and+m ore/2100-1022_3-5841842.html?tag=cd.top [com.com]

    Basically, CNET's article boils down to CS majors wanting to branch out to other disciplines and also how CS research is no longer just about computing but about other problem domains.

  • Try getting a CS degree combined with *anything* these days in a reputable engineering school. Without taking 20 hours a semester, or being in school for 6 years, it's impossible.

    And as you're learning obscure 30 year old languages and optimized algorithms for problems nobody cares about, people in the real world are learning how businesses work. No wonder your $100,000 education won't be worth squat.

    It's good that students have finally realized this. Good luck getting their professors to go along.
  • by raider_red (156642) on Tuesday August 23, 2005 @06:50PM (#13384698) Journal
    I spent two weeks in Russia last month, where I met a number of university students. The number one major seemed to be some combination of Computer Science and engineering with extra training in English and German. I also met one lady who is working with a software startup doing localizations for English speaking countries. (She probably speaks better English than I do.)

    At least now I've seen where the programming jobs are going.
  • by heroine (1220) on Tuesday August 23, 2005 @11:26PM (#13386530) Homepage
    Pure computer science doesn't pay enough to justify a college education in it. People are getting out of it as fast as possible because they flat out, won't accept the standard of living it provides.

    When you enter the industry you'll find all your managers are in their 20's and all the programmers are in their 50's. Recent graduates either get into management as fast as possible or quit.

    Programmers in the business for 30 years still live in dumpy apartments and have virtually no goals in life because they're so damn poor. No government program is going to change the situation. People can't be made to work 30 years to live in a dumpy apartment when other jobs provide so much more.

    The culture in US is based on selling. People in the front office, interacting with the customers, making the deals are always going to be valued more than the people in the back room.

    You can elect as many democrats as you want and tax yourself as much as you want. Your country will still value front office workers more than programmers.

  • by Master of Transhuman (597628) on Wednesday August 24, 2005 @12:02AM (#13386684) Homepage

    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.

Business is a good game -- lots of competition and minimum of rules. You keep score with money. -- Nolan Bushnell, founder of Atari

Working...