Slashdot Mirror


Overspecialization in the Computer Field?

The Mainframe asks: "I visited a nameless college campus recently and was shocked at the degree of specialization within the student body. Of the many CS and other IT-related majors that I talked to, not a single one had any real breadth of experience. Web developers knew Perl, but couldn't tell Apache from MySQL. C++ coders knew their language, as long as it was presented in Microsoft Visual C++. I suspect if I'd asked them to use G++ they would have said 'bless you'. Essentially, I'm worried. I plan to do some very interesting things in the next few years, but I'm not going to be able to pull it off if I have to wade through 100 narrow-minded people for every 1 useful human being. Is this something that other employers and co-workers have been having a lot of problems with? Is the whole world having to show its database developers how to use a copying machine?"

24 of 120 comments (clear)

  1. Learning Never Taught . . . by Dausha · · Score: 4, Insightful

    This only goes to show that college is no excuse for experience. I approached the field from the reverse direction--studying on my own then working in the field before I sought my degree. I feel that I am, in general, better rounded than the average bear accordingly.

    More to the point, many of the students I encountered were much the same level of clueless. They were in the field because they saw the pot of gold at the end of it, not because they enjoyed the technology or were necessarily adept at it.

    But, if there's one thing I've found out in life--it's that learning never taught me nothin'. And books is the worst.

    --
    What those who want activist courts fear is rule by the people.
  2. Not just the computer industry by tunah · · Score: 4, Funny

    This is happening in every industry. And to answer your specific question, the whole world will not have to, we will have plenty of professional photocopier demonstrators. They in turn will need to be shown how to use the bathroom every few hours though...

    --
    Free Java games for your phone: Tontie, Sokoban
  3. Copying machine? by orthogonal · · Score: 4, Funny

    Is the whole world having to show its database developers how to use a copying machine?

    What is this thing you call a "copying machine"?

    I have never heard of this ActiveX control, and I can't find it in the Visual .Net Basic IDE drag & drop list.

    It's probably "open source" or "command-line" or something else only used by Pirates and Terrorists. I think we should probably censor this guy's post. I think the RIAA has every right^H^H^H^H^H write to hack his machine to protect its^H^H^H it's legitimate business model.

    --
    I gots my MSCE and now I are a Solution Preventer

  4. Not the task of a university by Kj0n · · Score: 5, Insightful

    I have been working at a university for a couple of years and have noticed there that it is impossible to teach students about every product (commercial or open source) that is available. Instead it is better to give them a broad basis (showing them types of products: a database, an IDE, a web server, ...), instead of giving a course on the difference between Oracle and MySQL. When this broad basis is given in the correct way, they will later be able to use new products when they are presented with them.

    To improve their ability to adjust themselves to a different software environment, a number of assignments can be given in which they have to build some software solution using the tools given to them. This will also teach them that in some situations they cannot choose what to use. Maybe this type of assignment is not yet given enough to students. However, I don't believe the rest of the teaching methodology should be changed.

    1. Re:Not the task of a university by Twylite · · Score: 4, Insightful

      This is very true. To teach a strong theoretical grounding there is little time to study multiple implementations of the theory. Instead, you concentrate on one implementation as an example of the theory.

      In languages for example, you will study the concepts, but pick one (say C++) for practical work. You will look at what C++ has and doesn't have relative to the theoretical model, and (as text book study) relative to other languages such as Java and Smalltalk.

      In my experience, students who have a good theoretical grounding and some practical experience with a single product can easily learn to apply the theory to other products. This is especially true for languages and common office products (word processors, spreadsheets, etc); but conversion becomes more difficult when dealing with specific applications (even IIS vs Apache configuration).

      Specialisation during learning is a good thing. Leave it to on-the-job experience for the development of diversification. Having said that, I think there should be some teaching dedicated to knowing ABOUT the alternatives (but not necessarily how to use them): you are hamstrung if you only know one language, and can't made a knowledgable and objective choice of languages and deployment environments. A comparitive study of languages, operating systems, and common software products, drawing attention to strong cases for use, would be beneficial.

      --
      i-name =twylite [http://public.xdi.org/=twylite], see idcommons.net
  5. Not good for a recession by mnmn · · Score: 4, Interesting

    I think that trend was set during the tech boom when companies would hire as many as it would take and get em to work as fast as they can.

    Specialization is still important but more in overall offerable services than in products. Network admins now come in customer support experience, knowledge of various Microsoft products, pager support among other things rather than just a sneaker-wielding loosely-dressed UNIX hacker.

    However this trend is emphasized upon still by colleges, where beside the theory theres no breadth of knowledge offered. Students know all about relational databases, theoretically speaking, but never knew the practical differences between PostGRE or MySQL or why Oracle is so expensive. Similarly they will not be able to set up an environment for themselves to start Perl programming for Apache in Linux. They'll need a Sys admin to do that for them, while companies are looking for exactly that, all the experience rolled into one to save costs.

    Savvy Colleges and Institutes will expose their students to the top 5 or more products in that region to allow them to offer more to employers nowadays. They'll be able to offer some support on Linux, FreeBSD and Solaris, possibly AIX and others beside Windows 2000.

    However theres never a substitute for having the experience of GWBasic and Commodore-64 and DOS 3.0, and having known all the major products and trends and quirks through the times uptil now. Thats exactly what companies are looking for by must have at least 10 years experience in the field.

    --
    "Give orange me give eat orange me eat orange give me eat orange give me you." -Nim Chimpsky
  6. I've seen this lack of creativity.. by Manic+Miner · · Score: 5, Funny

    I used to work on the undergraduate helpdesk for an electronics and computer science department. During my time working there I saw a number of things that I didn't believe were possible, things you would expect in a dilbert cartoon, not at a University!

    Although you may not believe it, but this is a true story....

    One day I was walking through the computer lab on my way to lunch, when I noticed someone sitting at a computer with the monitor turned on its side. Now all the computer in the lab have iiyama 19 inch monitors, so needless to say I was not impressed at a student screwing around with the hardware, so I wandered over to the person in question to ask what the hell he thought he was playing at!

    When I got to the machine I asked him what the hell he was doing. He replied that he was viewing some PDF's of past exam papers, but the PDF's were all in landscape and so he had to turn the monitor on its side to view them properly!

    Needless to say I was speachless at first, WTF!, I told him off for screwing around with our equipment, put the monitor back the right way up and told him that he was never to move lab equipment around like that again. At this point he got upset saying how was he supposed to view the exam papers? I told him to use the software to view landscape pages and went to lunch

    1 hour later I was coming back from lunch (got to love working for a University) and discovered him, still there, head tilted 90 degrees reading the exam papers!

    This is just one example of the lack of creative thought that I saw almost every day while working on the helpdesk. My attitude when working with anything, not just computers, is that what I want to do must be possible I just need to figure out how. I love solving problems and finding creative solutions. I always assumed that people who worked with computers were the same as me, with a passion for experimenting and "playing".

    Sadly computing has been seen as a cash cow, anyone that want a high payed job tries to get a computer degree. These people do not make great programmers or computer workers because they have no passion for the work. They don't "get" the technology or the concepts and are only interested in one thing - they pay packet and the end of the month. :(

    --
    If you ever drop your keys into a river of molten lava, let'em go, because, man, they're gone.
  7. In Australia by droyad · · Score: 4, Informative

    I'm a student at an Australian University. I believe that we get a well rounded education. In my Software Engineering/Data Communications course we learn about:

    - Java, c, c++
    - Software engineering process
    - Perl and web development
    - Internet, TCP/IP stack
    - OSI
    - Linux/Unix commands
    - GCC, grep, etc
    - Databases, SQL

    There's an emphisis on theory not actual programs used. They do not tie us to any specific program. They recomend that we use a basic text editor for coding, none of this IDE stuff. And specific products are only mentioned if it makes sense (ie cisco stuff)

  8. change your hiring practices by blastedtokyo · · Score: 3, Insightful
    This has always been true. It's probably gotten a little more true once non-geeks started going into tech for the money/(once)plentiful job opportunities. Your problem is that you don't know how to screen your candidates before you interview them. I'm guessing that you:

    Look for kids with good GPAs---These are the ones that often play the games the professors want them to play so they learn how to take the tests.

    Look for the most polished resumes/suits or use OCR to scan them--Lots of geeks are horrible at aesthetics, neatness,grammar, selling, hygiene, etc. If you go for the most beautifully laid out resume, you'll get the one with good visual taste or writing skills (or smarts to find someone with good taste) but it doesn't tell you sh*t about how well they'll be a techie. And if you don't want to work with smelly, ugly zitty code God, well, that's one of the tradeoffs you'll have to make.

    Basically, you need to go out and get the people with the skills you want instead of wait for them to come to you. Look at the authors for a piece of open source code you admire and ask them for referrals (or offer to hire that person). If you're really daring, Go after the slashdotters with excellent karma. Traditional interviews/resumes are great for some professions but not for techies.

  9. It's the people by Inominate · · Score: 5, Insightful

    It's the kind of people now taking these jobs, who got out of a university with some know-how, but little real interest. They're not hackers or geeks, it's thier job, they don't really care to 'waste' time learning things that aren't thier job, they lack the insatiable interest of the earlier crop of geeks.

    Instead of seeing something new and wanting to try it out, learn it, figure out how it works, many now simply ignore it, and stay with what they're familiar with.

    It's just the ordinary person replacing the hacker.

    1. Re:It's the people by Milican · · Score: 4, Interesting

      Good. We need the mundane plebian computer / electronic engineers. That way the rest of us alpha geeks can go on and learn new things while they are re-treading on the same old boring stuff. Then in a few years, we will go on and make more money and get cooler jobs. Their lack of creativity and knowledge will show a few years after they get into the job market. This is an extremely fast paced field where continuing self-improvement of skills will get you a long way.

      JOhn

  10. What did you expect? by sql*kitten · · Score: 5, Insightful

    I visited a nameless college campus recently and was shocked at the degree of specialization within the student body. Of the many CS and other IT-related majors that I talked to, not a single one had any real breadth of experience.

    They're undergrads. They have no experience, and they aren't expected to have any experience. You don't do a CS degree to learn specific languages and applications, you do it to learn about algorithms and data structures and discrete math.

    No-one expects a fresh CS graduate to be immediately capable of writing production quality code, that's why major firms have graduate training programmes to teach them how to put the theory they've learnt into practice. That's also why starting salaries are usually quite low, but pick up quickly after a few years and the 2nd job - because now the raw recruit can actually do something useful without constant supervision.

    What you're saying is like someone walking into a Civil Engineering department and being horrified that none of the students had ever built a real bridge!

  11. Overspecialization by Some+Guy · · Score: 4, Funny

    int main( int, char** )
    {
    printf( "Can you define exactly what you mean\n" );
    printf( "by 'Overspecialization'?\n" );
    return( 0 );
    }

  12. try running a uni yourself!! by Anonymous Coward · · Score: 3, Insightful

    as a recent graduate, i've got experience of this so-called 'narrow-mindedness' of universities, etc.

    think of it from their perspective - why should they choose MySQL over Oracle or C++ over Java or Ada95 for that matter!?!

    it's not and never has been a university's job to cover what can be accomplished in a two week training course paid for by a dutiful employer - stop asking them to do your work!

    it *is* a university's job to churn out intelligent, quickly adapting and resourceful individuals who can be happily hacking away at your beloved G++ after only a couple of weeks, regardless of what they were taught beforehand.

    students are taught *how* to program, not what language they should be programming. your yardstick should be the university's standing and the grade of the student - First Class with Honours *means* they are versatile and skillful - and that's all you should need!

    regards,
    a graduate.

  13. Specialization by hackwrench · · Score: 3, Insightful

    I seem to see the problem everywhere. Colleges teach what will make the students tools for employers, not what they might want to know. In my Cisco class, they tell you to do things a certain way just because if you don't "it might not work." Don't bother to tell you why. I doubt that any given engineer would know how to buid everything from cars and can openers to nucler recators and space stations, at least these days. A group of engineers, maybe.

  14. Students & Employers getting what they want by duffbeer703 · · Score: 4, Insightful

    I went to a university that refused to teach product specific stuff. We we were taught to code C on sunos and solaris with gcc in the intro classes.

    Later, we were expected to code competently in any number of languages with mimimal tutoring.

    Most people complained and bitched at this policy, since at the time, (1997) you could get a $50k/year job after studying two weeks for an MCSE.

    Students wanted to learn VC++ and Java. Most employers, even the morons who came on campus, didn't care if you could implement a unix TCP/IP stack -- they wanted to know if you knew how to use VB or were intimate with MFC.

    It sounds like many students are getting their wish -- and finding that they get a shitty, proprietary education.

    --
    Conformity is the jailer of freedom and enemy of growth. -JFK
  15. IT vs. Engineering by forsetti · · Score: 3, Insightful

    If you look for people trained in technology, you will find people who only know technology. IT (MIS,CIS) students, and to a lesser degree, CS students, are trained in technologies, and therefore will only know the technologies that they are taught. And lets face it -- 4 years, of which much time is taken up with English, History, Math, Philosophy, etc, is not enough time to learn a wide selection of technologies.

    This is where Computer Engineering is important. Engineers generally learn methodologies, not specific technologies. Once one understands the various methodologies, abstractions, processes, etc, one can easily learn the specific technologies on their own.

    Disclaimer- I graduated with a Bachelors in Computer Science & Engineering. Nothing I do today in my IT job was taught to me in classes. My classes and training simply taught me how to learn and understand computing technologies, and since then I have had no problems picking up new techs almost overnight.

    --
    10b||~10b -- aah, what a question!
  16. College versus not by 0x0d0a · · Score: 4, Interesting

    Over time, I've noticed that every person posting to Slashdot seems to claim that "their" approach is the best.

    People who went to an expensive college smirk about their degree and talk about how employers are looking for knowledge of abstract concepts.

    People who didn't attend college at all constantly seem to be justifying their lack of doing so by claiming that they have more "real world" experience and that the college approach is "wrong".

    I'd say it's a fair bet that they're both wrong -- a degree is valued much less by most employers than the Ivy League types think, and the "skip college" approach is looked down upon somewhat more by employers than the skippers think.

    Plus, I suppose, it depends on the field. If you want to be a cryptographer, you're probably going to be a pretty sorry one without a (nice) degree, but if you're going to run wire and set up Apache and IIS...

    1. Re:College versus not by kableh · · Score: 3, Funny

      So what you're saying, is that employers just look down at all of us? =) Sounds about right...

  17. Two ways to take this by Boglin · · Score: 3, Insightful
    When I read through the article, I saw it could be interepreted two different ways. The first is that college CS students are learning implementation, but not computers. There was a perfect example of this effect in my CS course last week. The introductory programming class, which teaches Java, uses a wrapper around the System class to make IO easier. Specifically, we had two classes FoobarIn and FoobarOut (names have been changed to protect the guilty.) That was two years ago. Last week, one of my classmates complained that his project couldn't find FoobarIn. I found this lauughably pathetic, till I looked through the textbook that we had used, and realized that not only did it never mentioned that FoobarIn was not a standard class, there was no mention of the System class anywhere! If I hadn't had outside Java programming experience, I might have been up the same creek he was. This also goes along with the fact that all of our higher math courses require us to use the same CAS program for plotting and matrix computation. While most of the assignments have still had some educational value, some have been dedicated purely to learning one CAS system that no one else uses. If you are fighting to get CS back to teaching pure computer science, as opposed to application wrangling, I applaud you.

    However, a couple of your statements had lead me to a second interpretation. Specifically, when you complainted that students were only familiar with Visual C++ and wouldn't be able to use G++. The point is that they are both C++ compilers, so if you know one, you should be able to figure out the other in reasonable time. If you are expecting graduates to learn all of the #pragma's, quirks, and language extentions of every compiler by graduation, you are expecting them to waste their education. To put it differently, with your copier example, a CS major should be able come to a copy machine, find the glass, put the paper on it, and find and press the copy button. However, if you want him to tell you the exact location of the copy button on a Kodak 2085AF without being given a chance to look for it, get used to disappointment.

  18. Apache vs MySQL by Sloppy · · Score: 3, Insightful
    I wouldn't expect a CS cirruculum to teach people about specific products like those. Ok, maybe people ought to know what MySQL is, just because of the name. (I would think that CS types would learn what SQL is, even if they don't learn SQL itself.) But Apache? Just a non-descript name for one partcular implementation of one obscure service among dozens.

    I'd be the first to agree that breadth is highly desirable, but breadth isn't something I expect a formal education to address. People get breadth from experience, which is why degrees are only one small part of a resume.

    --
    As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
  19. Hit the nail on the head by MrResistor · · Score: 3, Funny

    They were in the field because they saw the pot of gold at the end of it

    That's pretty much the whole problem right there. Whenever you have people going into a field just for the money you will get a high level of cluelessness. Add to that the University-as-trade-school "teaching for the real world" BS you find at a lot of colleges (You know, the "everyone uses Microsoft so we have to teach only Microsoft" mentality) and it's no wonder so many CS students are one trick ponies.

    One has to wonder how many of these kids saw an add somewhere about how they could earn $50-80k per year with an MCSE, and figured they could spend 4 years getting one while partying on their parents dime.

    Here's a scary thought: the guy I just described is someday going to be my manager... *shudder*

    --
    Under capitalism man exploits man. Under communism it's the other way around.
  20. Re:The same thing over here by MrResistor · · Score: 3, Funny

    One learns more than just jargon at a University. One also learns to communicate coherently, for example. Trying to read your post was so incredibly painful that I was forced to respond.

    I would discriminate against a potential employee simply because of a lack of formal education, but I would definately not hire someone with such abysmal communication skills as you have demonstrated in this post! I sincerely hope that English is not your native language.

    There is another important thing that a degree demonstrates, though: the ability to overcome obstacles, deal with frustration, and accomplish long term goals; all qualities which, based on your post, you clearly lack.

    --
    Under capitalism man exploits man. Under communism it's the other way around.
  21. Is the whole world having to show its database dev by pizza_milkshake · · Score: 3, Funny
    Is the whole world having to show its database developers how to use a copying machine?

    funny you should say that -- i'm good at coding but can't operate office equipment to save my life. it took me about 10 tries over the course of two months in order to properly navigate our fax machine. and those big multi-purpose, do-everything enterprise printers? don't get me started.

    i'm amazed anyone can use them -- the only time you get to practice is when you're up in front of everyone and other people are waiting in line. maybe that's why i like computers... i can screw them up 95% of the time in private and only show people what i do right ;)