Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×
Education Programming IT Technology

More Students Prefer Interdisciplinary to CS 448

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:
  • by Anonymous Coward on Tuesday August 23, 2005 @06:40PM (#13384055)
    It doesn't matter that the number of CS degrees is decreasing in the US -- it will just increase in India, China to meet up with the demand. The free market at its best!
  • In other words (Score:2, Insightful)

    by grasshoppa ( 657393 ) on Tuesday August 23, 2005 @06:41PM (#13384067) Homepage
    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 are doing, or how to fix something if it goes BOOM.
  • Comment removed (Score:5, Insightful)

    by account_deleted ( 4530225 ) on Tuesday August 23, 2005 @06:46PM (#13384099)
    Comment removed based on user account deletion
  • by FatSean ( 18753 ) on Tuesday August 23, 2005 @06: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.
  • CS != Programming (Score:5, Insightful)

    by mpupu ( 750408 ) on Tuesday August 23, 2005 @06: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).

  • Mod parent up (Score:4, Insightful)

    by Jane_Dozey ( 759010 ) on Tuesday August 23, 2005 @06: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).
  • by betelgeuse68 ( 230611 ) on Tuesday August 23, 2005 @06: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
  • Re:In other words (Score:5, Insightful)

    by grasshoppa ( 657393 ) on Tuesday August 23, 2005 @06: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.
  • by Com2Kid ( 142006 ) <com2kidSPAMLESS@gmail.com> on Tuesday August 23, 2005 @06:57PM (#13384202) Homepage Journal
    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... you need to retrain anyway.


    I went into CS knowing very well that I would be spending my entire life "learning". Heck that is what I want. Yet, in 20 years time, I shall not only have studied the latest and greatest in technology trends, but also had the experience that I gained through creation and management of systems throughout those 20 years of time.

    You can teach almost anyone to program, but an actual understanding of the computer is something different altogether.


    The business degree will still be good in 20 years.


    There will be changes in management styles and trends over 20 years, business laws will change as well, so will accepted ethical practices. Do you honestly think that you will not have to go for any "retraining" in any of those 20 years?
  • Re:In other words (Score:3, Insightful)

    by Umbral Blot ( 737704 ) on Tuesday August 23, 2005 @07:02PM (#13384235) Homepage
    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.
  • Re:C.R.E.A.M. (Score:3, Insightful)

    by CoolMoDee ( 683437 ) on Tuesday August 23, 2005 @07:03PM (#13384248) Homepage Journal
    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.
  • Re:In other words (Score:5, Insightful)

    by Nasarius ( 593729 ) on Tuesday August 23, 2005 @07: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 ) on Tuesday August 23, 2005 @07:03PM (#13384252) Homepage
    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.
  • by Anonymous Coward on Tuesday August 23, 2005 @07:05PM (#13384267)
    You must be really boring if all you care about is your career. Do something you love, not something you can just make a career out of. The happiest people I know are the ones who stopped following the money...thinking about it, they're some of the wealthier ones to. Go figure.
  • by Billly Gates ( 198444 ) on Tuesday August 23, 2005 @07:07PM (#13384283) Journal

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

    You just stated the problem.
  • Re:In other words (Score:3, Insightful)

    by TrappedByMyself ( 861094 ) on Tuesday August 23, 2005 @07:09PM (#13384304)
    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, which means without the degree, I'd have a huge gap in my skillset.

    With no real training in hardware

    I only had some hardware training, because my interest was more on the math side, however they offered many hardware options at my school. They even had a class where the students built a machine from scratch. Ballbuster, but the kids loved it.

    I do architecture and development work for multi-million dollar projects, but I also did some hardware repairs on a co-workers box last week, so I'm getting by fine with this degree dragging me down.
  • Re:In other words (Score:5, Insightful)

    by netruner ( 588721 ) on Tuesday August 23, 2005 @07: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.
  • by merreborn ( 853723 ) on Tuesday August 23, 2005 @07: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.
  • I got step 2 (Score:3, Insightful)

    by Psionicist ( 561330 ) on Tuesday August 23, 2005 @07:20PM (#13384392)
    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.
  • by httpoet ( 231453 ) <aestes AT vt DOT edu> on Tuesday August 23, 2005 @07:24PM (#13384429)

    "Computer Science is no more about computers than astronomy is about telescopes."
  • by Nasarius ( 593729 ) on Tuesday August 23, 2005 @07:25PM (#13384443)
    You just stated the problem.

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

  • Re:Immigration (Score:5, Insightful)

    by njh ( 24312 ) on Tuesday August 23, 2005 @07:25PM (#13384453) Homepage
    Yep, H1B is the modern, clean and ethical approach to slavery. ;)
  • Re:In other words (Score:5, Insightful)

    by putaro ( 235078 ) on Tuesday August 23, 2005 @07: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.
  • by linguae ( 763922 ) on Tuesday August 23, 2005 @07: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 Anonymous Coward on Tuesday August 23, 2005 @07:28PM (#13384480)
    Like what? Did they skip over graph theory or something? CS courses are not supposed to teach you the latest fads of technology. CS should be sufficent for the student as a basis to learn about any related technology on his or her own. If you don't like this picture, then you should have chosen a more applied non-theory degree like MIS, SE, or something equally as similar from a local vocational school.

    If you wanted a real world degree, then you barked up the wrong tree. CS isn't about the real world, its about theory and science.

    The sooner people understand this, the better off they will be when it comes to preparing themselves for a job.

    (I imagine your professors didn't actually give a damn about making millions, they wouldn't be in their field if they didn't like what they were doing for the meager pay they got - they can easily step out of their ivory tower and find jobs easily with their credentials.)
  • by FatherBusa ( 139333 ) on Tuesday August 23, 2005 @07:30PM (#13384502)
    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 . . .
  • by frenetic3 ( 166950 ) <houston AT alum DOT mit DOT edu> on Tuesday August 23, 2005 @07: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
  • Two commandments (Score:4, Insightful)

    by overshoot ( 39700 ) on Tuesday August 23, 2005 @07: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.

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

    by Fareq ( 688769 ) on Tuesday August 23, 2005 @07:39PM (#13384591)
    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.
  • Re:In other words (Score:3, Insightful)

    by rumblin'rabbit ( 711865 ) on Tuesday August 23, 2005 @07:51PM (#13384716) Journal
    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 really gets good.

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

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

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

    by Anonymous Coward on Tuesday August 23, 2005 @08:26PM (#13385018)
    The quality of hiring has sure gone down in the last few years -- all the employers (with a few exceptions) list 10-20 very specific experience requirements and don't really care how smart or interested you are. As a result career mobility has gone to hell.
  • by ngsayjoe ( 743136 ) on Tuesday August 23, 2005 @08:29PM (#13385051)
    Undeniably that the demand for Computer Programmers is definely higher than the demand for Computer Scientiests. So is the demand for factory workers is higher than docters?

    The point here is if you're highly knowledgeable about computer science theory than the chances that no many people out there are better than you. So automatically your pay is higher.

    Who the hell do you think Google, Microsoft and Adobe want to hire to design algorithms for their search engine, compiler and synthesizer?

    I tell you that in my country, there's at least a ratio of 20-to-1 computer programmer to computer sciencetist, and i'm fortunate enough to be the latter. And my salary is double of the former. So what do you think now? Java, .NET, ASP, SQL, etc. skills more important or AI, Maths, Compiler Design, Optimization, etc. theories.
  • Re:This is BS (Score:3, Insightful)

    by beforewisdom ( 729725 ) on Tuesday August 23, 2005 @08:40PM (#13385126)
    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 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 surprising that US corporations are favoring English speaking developers once again.
    I have felt my share of resentment and fear about outsourcing. It is irrational as it is the big American corps that are responsible, not the middle class ( or less poor ) Indians and Chinese who sending jobs overseas. The last couple of years I have met and worked with a lot of Indians. I got to know them as people and could not resent them anymore. Aside from being programmers like me and having an interest in eastern culture I saw that they were a lot like me, human beings struggling to get by. I feel bad that there are not enough decent jobs for everyone. For the record, the Indians I have met have been above average smart and competent. If it has proven difficult to manage outsourced workers then it must be the case that telephones, emails, and conference calls are no substitute for actually being there. I did like reading your post. When I saw the title for this thread I thought "Oh no, how about some good news for a change?". It is nice every now and then to read that not everything in the American IT job sector is going into the toilet.
  • Re:In other words (Score:5, Insightful)

    by bladesjester ( 774793 ) <slashdot.jameshollingshead@com> on Tuesday August 23, 2005 @08:40PM (#13385137) Homepage Journal
    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.
  • by servognome ( 738846 ) on Tuesday August 23, 2005 @08:54PM (#13385231)
    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)
  • Re:Immigration (Score:2, Insightful)

    by Vicissidude ( 878310 ) on Tuesday August 23, 2005 @09:12PM (#13385358)
    Could not one learn MBA material on his own, quicky, with sufficient prior training?

    In a word, no.

    I have bachelors degree in business management. You would be hard-pressed to get the same education I got at the bachelors level in economics, finance, accounting, business law, statistics, information systems, management, and marketing without going to college. A master's degree in business is far more challenging, requiring far more work and effort to attain. It would be nearly impossible for you to pick up all the knowledge that an MBA program provides without actually going through the program. That is partially why MBA's are so valued in the first place.

    To put it in better perspective, would someone hire a guy into marketing because he seems to be very motivated, because he knows how to use Power Point, or because he has an MBA (assuming PhD's in marketing are silly ideas).

    Depends on the marketing position. Some don't require a college degree, so someone who only has motivation or Power Point knowledge could be a good fit.

    However, if the marketing position actually requires marketing knowledge, then only being motivated or only knowing Power Point isn't going to cut it. That person with the MBA is the only person qualified for the position.

    Let's face it, most people bright and motivated enough to endure EE/CS degrees are looking to cash in.

    Speak for yourself. I could have easily "cashed in" with my business management degree. However, I went back to school for 2 years to get a second bachelors in computer science. That happened because I realized too late into getting my first degree what I really wanted to do with my life.

    After graduation, I struggled for 3 years to find a paying job using my computer science degree. Again, I could have easily found good paying work with my business management degree. But then, I wouldn't be doing what I really wanted to do.
  • Re:In other words (Score:5, Insightful)

    by putaro ( 235078 ) on Tuesday August 23, 2005 @09: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.
  • by the-build-chicken ( 644253 ) on Tuesday August 23, 2005 @10: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 Kope ( 11702 ) on Tuesday August 23, 2005 @10:32PM (#13385848)
    When I took my CS degree, it was a scientific approach to problem solving, there was rigor and a solid basis for always being able to understand digital systems. We learned everything from the circuitry up to assembly language. We got a survey of higher level languages, from scheme and lisp to C and Fortran, but the focus was on COMPUTER SCIENCE.

    The Universities found that such a program was difficult for many students, so instead of maintaining a culture of excellence, they started offering "industry requested" courses. Pretty soon all the rigor was gone and it was 4 years of learning visual basic and java from within Windows based IDE's without gaining any real insight into how computers work or the nature of algorithmic design, data structure or any other consideration.

    We aren't outsourcing to India because it's cheaper. We're outsourcing to India because by and large they're better at it than we are. You can find entry level programmers in India who KNOW HOW A COMPUTER WORKS. That's not something you can find coming out of US schools.

    These students may well be trying to leave their options open for other careers, but at least some of them are probably just trying to keep some science in their BS program.
  • by bigbigbison ( 104532 ) on Tuesday August 23, 2005 @10:55PM (#13385970) Homepage
    Have you ever done plumbing or electrical? If you do it well it can be quite a mental workout trying to get all the wires and pipes in their ideal locations.
  • Re:In other words (Score:1, Insightful)

    by Anonymous Coward on Tuesday August 23, 2005 @10:57PM (#13385984)
    "any of the currently popular languages"

    You are one of the ones who will be replaced by an off shore programmer. I've been in this business for 35 years. NONE of the machines I originally programmed exist today, nor do any of the languages. You MUST learn those fundamentals or you will be obsolete.
  • Re:Immigration (Score:0, Insightful)

    by Anonymous Coward on Tuesday August 23, 2005 @11:45PM (#13386286)
    That's interesting. Since you seem to be a big fan of IBM (given that they "support free software"), would you like to comment on their recent outsourcing of 14,000 jobs? [slashdot.org] Where do you think those went? To Idaho? Belgium?

    Or perhaps you'd like to comment on the fact that Microsoft is one of the few big tech companies that has never done a mass layoff + outsourcing. And the fact that they outsource some work, like research, to places like Ireland and China, but never at the expense of US jobs.

    Perhaps you'd like to spell Hyderabad correctly, instead of using yet another hilarous denigrating word play like you do with "M$" and "Winblows" and "Windoze". One would hope that your irrational hatred of Microsoft does not extend to 1 billion people in India.

    Or perhaps you would just like to shut the fuck up.

  • by jschottm ( 317343 ) on Tuesday August 23, 2005 @11:53PM (#13386341)
    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 on 1970s/80s relational theory. OOP, the major programming paradigm, is nothing new.

    Part of what I suspect is leading to the increase in programmers as compared to computer scientists is the fact that there is so little innovation in the field - we've hit a stage where we're pretty damn efficient when we bother to be and there's little low hanging (or even high hanging) fruit to discover any more.
  • Re:In other words (Score:3, Insightful)

    by CharlesEGrant ( 465919 ) on Tuesday August 23, 2005 @11:54PM (#13386354)
    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 arround a socket you still can't write a network application.

    I strongly disagree. I don't see any single computer language as warranting a full course in a four your college after the first year. After the first year you should be able to pick up the basics of any language in a couple of weeks. Heck, I learned the basics of FORTRAN IV in four weeks in my freshman physics lab. Languages are easier to learn then theory, so you want to spend the classroom time on the hard stuff, and leave the relatively easy stuff for students to learn on their own.

    I appreciate that you want to go beyond the basics, and you are absolutely right that you've got to write a lot of code to master a language, but I submit that no classroom based course with canned exercises will get you there. To really master a language you'll need to use it for multiple projects over an extended period of time. That's what summer jobs, hobby projects, internships and capstone programs are for.

    The courses in trade schools and community colleges are a different matter. They have a different audience with very narrow and well defined vocational goals.
  • by HermanAB ( 661181 ) on Wednesday August 24, 2005 @12:12AM (#13386446)
    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.
  • by HermanAB ( 661181 ) on Wednesday August 24, 2005 @12:25AM (#13386522)
    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?
  • by heroine ( 1220 ) on Wednesday August 24, 2005 @12:26AM (#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 @01:11AM (#13386714) Homepage

    Switch to nanotech.

    Nanotech will absorb the biosciences within twenty or thirty years. Nanotech will absorb everything (well, of course, there will still be disciplines, but ALL the research will use nano technigues.)

    That or learn AI and how to do bioinformatics using AI, which will be enabled by nanotech, but will still need people able to come up with the concepts.

    Programming is a dead end profession - has been for twenty years. You have the authority - and pay - of a hotel desk clerk and the responsibility of a surgeon as a programmer. And your manager is guaranteed to be a moron making more money than you and who then screws up your project, then blames you for the failure - and he used to have your job.
  • Re:Immigration (Score:4, Insightful)

    by Austerity Empowers ( 669817 ) on Wednesday August 24, 2005 @02:10AM (#13386909)
    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
  • Fantastic! (Score:2, Insightful)

    by vandalman ( 746235 ) on Wednesday August 24, 2005 @02:19AM (#13386951)
    This makes me feel warm and fuzzy inside. I rarely meet a fellow student majoring in CS who actually understand and enjoys CS. More often then not I talk to undergrads who don't like CS and are just in it because of some dot-com fantasy.
  • by Scarblac ( 122480 ) <slashdot@gerlich.nl> on Wednesday August 24, 2005 @03:38AM (#13387220) Homepage

    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.

  • by Thomas Miconi ( 85282 ) on Wednesday August 24, 2005 @05: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 gowen ( 141411 ) <gwowen@gmail.com> on Wednesday August 24, 2005 @06:57AM (#13387758) Homepage Journal
    Further more : blacks are more athletic, but aren't smart enough to play quarterback. Carribeans are natural hitters but have no plate discipline.

    The English have bad teeth and in rains all the time. Red Indians are drunkards, the French are cowards, Germans are fascists...

    And Americans have ridiculously stereotyped views of everyone else...
  • by typical ( 886006 ) on Wednesday August 24, 2005 @09: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.
  • ABET schools (Score:2, Insightful)

    by ezweave ( 584517 ) on Thursday August 25, 2005 @12:00PM (#13398065) Homepage

    I agree with the reply: I am sure that is true at some schools, but all of the people I have worked with who earned a degree from an ABET accredited CS program seem to get the more hardcore education. This includes a large variety of schools (University of Colorado at CS, Bucknell, MIT, etc).

    On the other hand, alot of non-ABET CS programs are rubbish. I have worked with those people in the real world and they are utterly clueless.

    As to the point of this article/discussion? Silly and misguided. CS is just as all of my peers seem to point out: science or more to the point mathematics. Maybe not the exact same kind of science as physics (minor #2), but close.

    What is odd is the attitude of people to the hardcore CS cirriculum. As a grad student and a full time software engineer I see both sides of the fence. I work with the "Give me practical or give me death people" and hardcore CS people. In what I have seen (in 2 years of J2EE work and 2 years of C++, etc work) the practical people are not very clever.

    After finishing a small project that used a clever bit of recursive parsing (like building a lexical analyzer), one of these people asked me if I took a class on "Java" and learned that. A few months later he lamented that he wanted a several semester class on J2EE. This guy is senior level and gets paid way more than I do, yet he is such a dolt that I wouldn't let him touch any of my code with a stick.

    As everyone has already said (insert dead equine and pummel), CS is about theory and pushing the boundries of your mind. You can learn a language from a book... that is just a matter of translating ideas. But learning compiler design, architecture, algorithms, calculus, EM, neural nets, etc... even if you don't learn it, it trains you think non-linearly. At my Uni, people dropped CS left and right for IS degrees after a couple of semesters because they "just wanted to program".

    Now I am not claiming that ABET accredidation means anything. I am just saying that those that I have worked with who were clever went to those kinds of schools. I have also worked with people who went to my school (I think they have the same degree, but it is a decent sized school, so I didn't run into them) who I can hardly believe graduated.

    All I was trying to say:

    • Don't base everything on your experience alone.
    • Good Computer Scientists may in fact, be born and not made.
    • CS != programming (repeat until you get it)
  • Thats one of the problems with CS education - the problem of terminology.

    Computer Science, the real thing, is very much based on math, but it's a *theoretical*, academic discipline, with little practical value (which is not to say that the results of CompSci R&D don't benefit practical software development). A real computer scientist isn't a good software developer any more than a physicist is a good EE.

    However, lack of precise naming (not suprising, really, considerin the youth of the discipline) means that there's a vast variation in whats considered computer science. In many places it's essentially an algorithms class. In some it's essentially a tech course in Java. More commonly, it's a fairly technical but very practically oriented programming class. Thats why you get people who want to be software developers taking compsci but complaining about the math in one school, and compsci graduates from another who can't do anything except code bubble sort in a Java applet.

  • by Master of Transhuman ( 597628 ) on Saturday August 27, 2005 @07:40PM (#13418241) Homepage

    Where did I say one observation points establishes the fact?

    I used my account as an explanation of WHY it's happening. THAT it's happening is a known fact. Read the trade press.

    I also said nothing about the US not still producing more code (and in fact, most technology) than anywhere else.

    Today is not tommorrow.

    I said the FUTURE is not the US's, if present trends continue - and there is no evidence I see that it won't.

    As for Europe, I have read that more scientific literature is now produced there than in the US. This indicates that more scientific research is being done there than in the US. That is a fundamental shift which is likely to have consequences.

    You, on the other hand, are assuming that what was true a hundred years ago for the US will remain true forever.

    A true provincial.

    As for music, my point was that the US was supposed to be a hotbed of music - yet, as Norman Spinrad once observed in one of his stories, if the British and psychedelics hadn't come in back in the Sixties, rock would still be just "ass-kicking music for greasers."

    Today, many of the influences of pop rock are coming from abroad. Yet the insular US music business and tight control of the radio market limit the success of groups such as the Corrs who are megastars everywhere else. The Internet will eventually sort this out, as people find music via the Net and acts start cutting out the label middleman and directly marketing live broadcasts and cheap downloads over the Net, but for now the music industry as an industry appears to be moribund. The recent payola issue rearing its head again makes that clear - they have to bribe the radio people to play anything that wasn't released ten years ago.

    If you can't market three hot babes and five hot guys, all of whom are excellent musicians playing lush pop rock and toe-tapping instrumentals as well, to the US market, get the fuck out of the business.

In less than a century, computers will be making substantial progress on ... the overriding problem of war and peace. -- James Slagle

Working...