Mixed Signs On the State of IT Education
snydeq writes "Advice Line's Bob Lewis comments on the mixed state of IT education in the US, which sees some students graduating with computer-related degrees despite never having written a line of code. And while some institutions are emphasizing the value of teamwork in their curricula, an approach that fosters specialization in lieu of uniform standards, others are simply advertising their 'success rates' in graduating students. 'Education is a marketplace, and if you have the money and want to buy, you can find someone willing to sell,' Lewis writes. In other words, 'If you want a degree that indicates you know something about computers without having to actually know very much about computers, you can get one.'"
An MSCE is much cheaper and it also indicates you know something about computers without having to actually know very much about computers.
Sure you don't mean "MCSE"?
In a world of the blind, the one-eyed man is king--and the two-eyed man is a heretic.
I don't think I've come across a person with a programming degree yet that I'd call a programmer. But they sure know how to use MS Office!
*DrugCheese rants*
but it won't take long for prospective employers to discover that it has utility only if it is perforated and comes on a roll.
And while some institutions are emphasizing the value of teamwork in their curricula, an approach that fosters specialization in lieu of uniform standards
Wouldn't "teamwork" have the opposite effect - emphasizing uniform standards over specialization? A more individualistic approach would encourage specialization more, one would think. Also, the whole premise seems a bit off. "IT" encompasses many things, programming is not involved in all of them.
... and then they built the supercollider.
There are diploma mills that crank out such types for exorbitant fees--Phoenix U, Strayer, etc.--but I don't think the big names are exempt. I once met a University of Maryland College Park grad (B.S. in computer science) who didn't understand pointers and who couldn't grok hexadecimal math. These shortcomings notwithstanding, she was enrolled in their graduate program.
"Love is a familiar; Love is a devil: there is no evil angel but Love." --William Shakespeare ('Love's Labors Lost')
I guess we know what that certificate certifies.
YEEEEEEEAAAAAAAAHHHHHH!
In a world of the blind, the one-eyed man is king--and the two-eyed man is a heretic.
I'm not sure how Computer Science courses are at other educational institutions, but my school's Comp Sci program didn't focus much on programming at all. Everything was largely theoretical and we never did much programming at all. If you wanted to fine tune your coding skills, you'd have to do it on your own, or even better on co-op or internship.
Freedom is drinking a beer in the park when you're supposed to be at work.
Time to drop the need BS to get a low level job as the school part most of the time is far from that work on the job is like.
Every certification test I've ever taken measures, not knowledge, but rote memorization. Seems that the tests are created by people with no understanding of the subject matter. Questions are created by simply taking material literally from the study material, context and real-world applicability be damned.
As long as you can remember the study materials (especially the company specific terminology) long enough to get through the test, you pass. Understanding/knowing anything useful gets you nowhere.
"National Security is the chief cause of national insecurity." - Celine's First Law
Without teamwork, the majority of the team would have to do its own work. Now you find the dude in class that truly loves coding and technology, leach and get a good team grade. But what do I know, I was a poly sci major. Of course I've found that prisoner's delima, nuclear deterrence and brinkmanship are far more useful in IT than silly computer stuff.
I would expect that employers would quickly discover which institutions are crap and which ones aren't which makes the diploma worth more-or-less what you put into it ... But then I am in a relatively small field with a degree from a relatively well-known institution.
Has anyone really been far as decided to use even go want to do look more like?
MBA-MOT (Management of Technology)...
HR looks down on tech schools that have more work done that is like what is done on the job while the big schools that have way less and lots more non tech / non core filler are placed higher.
No, the big schools just make you do both. They also often require co-ops. ITT on the other hand will show you the windows way to do it and teach you no theory or basics. This means you can solve that problem but not figure out how to solve problems.
Re:The basic problem with certification programs..about having to take the CISSP. It proves that I can memorize. That buys me nothing, but costs me something. I am surrounded by people who have passed who understand nothing about computers.
Yeah, but ITT grads tend to gravitate towards jobs where hands-on work is far more important than theory. I think the for-profit technical schools serve a valuable niche, or could if they weren't almost universally overpriced to the point where they're not worth it for anyone.
I just wanted to provide a counterargument to the gloom-and-doom scenarios that are probably going to permeate this page: I'm studying for my CS degree at an Ivy League school right now, and the University actually just completed a major overhaul of the requirements for CS, which I think are a major improvement. I know Slashdotters love to complain about how useless college graduates are when they first enter the workplace, but I'm optimistic that I can be at least somewhat handy when I end up getting a job.
The biggest change is that you're now required to declare a concentration, ranging from pretty specific (Database Programming), to very general (Security), there are about fifteen of them and you can create your own with approval from your advisor. This means that everyone is still required to take the theoretical courses (which are useful, no matter what the curmudegons say: I'm a way better programmer than I was before I took algorithms and lambda calculus), but now has time to do tons of practical programming in their field of choice: many of the lecture classes now have 1- or 2-credit electives alongside them which are nothing but semester-long practical projects (for one course in particular, we actually have to find someone not affiliated with the CS department, who needs software written for them, and write it, with our grade dependent on the client's satisfaction- definitely not an academic cookie-cutter project), and in many cases these are now required rather than optional. In addition, while the low-level CS classes (which are taken by all kinds of people across the University, not just CS majors, and so sort of have to be dumbed-down) are junk like PHP and writing Swing GUIs with Java, we have to fight it out with C and Ocaml in many of the more advanced classes.
Again, before a million people complain about how naive I'm being, I'm not saying I'm going to walk out with my degree as a world-class programmer or that I won't have plenty to learn in the real world, I'm just saying that this trend towards easier programming languages and more hand-holding isn't occurring everywhere. And yes, most schools aren't the Ivy League, but if the market demands curricula like this from higher education, it will trickle down. There's hope yet.
Dislike the Electoral College? Lobby your state to join the National Popular Vote Interstate Compact.
Honestly, I think most of those jobs are gone. Even our helpdesk folks have a good grasp on lots of basic theory. They may not be able to build a shift register, but they could tell you how a netmask works or why spanning tree is important.
I should mention one is a college student and disappointed graduate of ITT the other has an EE degree.
What?
If degrees aren't covering what needs to be taught, what ARE the main objectives that would produce the best functioning graduates?
this is where eu education system is much better as they have good vocational systems had real hands on work vs lot's of theoretical stuff and big class at most US schools and it to bad HR looks down on the tech / vocational schools hear in us and even more so on people who may have 2-4 years doing jobs get passed over for some with 0-1 years on the job and 4 year BS that may not even be in tech.
computer-related degrees despite never having written a line of code.
Previously we complained about
computer-related degrees despite not knowing how to troubleshoot a hardware problem or even turn a computer on
So in other words, educators responded to complaints by changing curriculum. We now have some computer-related degrees that have programming as an optional trait rather than a required trait.
And on top of that, what is a "computer-related degree" anyways? CSci would seem to fit that; how about Computer Engineering? Or an IS Management degree?
Damn_registrars has no butt-hole. Damn_registrars has no use for a butt-hole.
A Computer Science degree is not a degree in Programming.
I majored in IT in order to get my associates and then switched over to Comp. Sci when I went for my bachelors. I don't like to code, it's not what I intend to do. However, it's been a prevalent requirement in my various courses and I've enjoyed it. It just simply isn't where I intended for my career to go.
Midway through my 2nd semester at university (After my associates), I became extremely discouraged by my professors knowledge and the curriculum itself. It wasn't a matter of just the curriculum being flawed or my professor being outdated. Typically it's one or the other. I just felt both were utterly irrelevant to the fields I intended to go into.
So, I went out and applied for IT jobs...and damn, I got one. I work at an extremely small shop for a mid sized company but it's allowed me to learn alot. I'm fairly savvy and pretty open minded when it comes to OS. So I managed to get primarily windows based network with some nice little freenas and trixbox action on our network when push came to shove.
I think it's simply a matter of willingness to learn on the fly. Alot of students see "Computer Science" as a thing you can take in school and just go with the rest of your life. It's constantly evolving though and you really gotta love it to stay on top of it imho.
I went to state schools (in new york). They're good...but I think it's extremely difficult to keep up with the demand of technology for educational institutions. Now, at 24...I find myself underpaid for my abilities and vastly overqualified...so I'm going back in the fall.
I don't expect to learn everything I want too, but I have much better idea of what's relevant and what isn't. So I know when to pay attention and when to go through the motions.
Also, before all the developers hate on me. I LIKE to code. I just couldn't imagine doing it as a job. I really enjoy web design...but after being coerced into designing a flash webpage for a charity my company is largely responsible for - I hate it. I can't deal with being forced to create things I disagree with as a whole. So I do IT and I like it. So, god bless all you programmers out there doing things in the name of end users who know...well, nothing.
I'm a bit on a tangent but I hope something relevant can be salvaged as I seem to fit the age group not represented in these comments.
It doesn't matter anyways.. more companies are going to other countries to hire IT workers.
I'm noticing a lot of supposed comp sci bsc degree holders who are very superficial in their knowledge of, for example, basic object-oriented concepts. They seem to be parroting back certain terms like polymorphism, encapsulation etc without really understanding what they are or why the might be important.
Also, everyone says "java" skills, j2ee etc but has no idea what, for example, the term "object-relational impedance mismatch" might mean.
All this bespeaks cookie-cutter exam-passing types of knowledge and a seeming lack of i-depth experience with the problems and issues encountered when doing serious system creation with software.
Where are we going and why are we in a handbasket?
In the graduate program in Information Technology that I work with, we recently revamped the degree to make coding mandatory. Incoming grad students must pass a programming placement exam or complete an intermediate level (not beginning!) software development class, currently in Java or C++. We found we had a lot of students moving to IT with undergraduate degrees in electrical engineering who had seriously deficient coding skills so they were not able to make an adequate contribution in system and network security and voice over IP course projects.
We've always had a fairly robust coding and scripting requirement for our undergrads, who have to do introductory and intermediate Java, introductory C++, UNIX/Linux shell scripting in BASH or Perl, and Javascript. In the undergraduate program we cover all of the core elements of the Information Technology profession as defined by the Association for Computing Machinery (ACM) and the IEEE Computer Society:
IT Fundamentals
Programming
Human Computer Interaction
Databases
Networking
Websystems
Information Assurance and Security
Professionalism
Funny thing is that I work with a guy who has been with us for about 2 years supporting our systems and still can't pass his network+...
While I mostly agree I do prefer to see someone with some sort of certs, even if it isn't a direct correlation of transferrable knowledge. What I do see out of it is someone not only willing to learn, but is capable of learning (as opposed to the guy I work with who can be a pain to show new things). It definitely shows you know a *basic* understanding of the information in many aspects.
I met another guy who got his degree from one of these supposed technical schools and didn't know how to navigate any of the basic tools in win (traceroute, ping, nbtstat, etc) let alone *nix, but thinks he's the king of networking.
The best people I've met are those with straight up work experience and a couple of certs here and there.
The MSCE shows you know how Microsoft works and that means nothing. Getting all the Cisco level cert's means you know how to read and pass a test and that means nothing. The best IT professionals teach themselves and come up with solutions that aren't in a textbook or in a slideshow. The best IT schooling is the one your give your self.
I've been taught by people with Masters in the IT field who know less then high school students and I've worked with people off the boat who put Gates and Linus to shame. In IT you know it or you don't and the best way to show it is to make a name for yourself.
You'll see it all over. People with "20 years" of "experience" who really have 1 year of experience 20 times over.
Next up would be the ability (and desire) to dig to FIND problems. Not just "it compiles" or "it doesn't crash".
After that would be the ability to think in pluralities. Anyone can handle a single system with a single purpose used by a single user. Can you scale to multiple servers? Multiple users? With multiple services?
And finally, maintenance. Design your design ... to make maintenance easy. Implement your design ... to make maintenance easy. Design and implementation are fun. Maintenance is a bitch. Now people are using it and it is "business critical" and you only have a maintenance window of 1 hour at 11pm on Sunday.
Even if you are NOT perfect at all of the above ... at least be aware of them and WORKING to improve your abilities in them.
Should IT require an education ??
If products and services are well designed, then it should be like reading time, driving a car, finding a book in a library, etc.
We have created an incredibly poorly designed infrastructure that requires a technician class knowledgeable in arcana to run it. Why cant we just make stuff that works ?
Thats not to say we don't need a *small* priesthood to make it work, but 99.99% of people shouldn't have to care.
Computer degrees have always been more of a red flag rather then an endorsement. Far more often then not someone with an actual degree got it because "programmers make a lot of money". Those with actual talent for the industry rarely bother wasting time and a great deal of money on a degree.
Computer people, regardless of specialty, need a talent for debugging far and above anything and everything else. If you can't investigate, research, and diagnose a problem then you shouldn't work in computing. From programmers and architects to system admins and managers, debugging is the #1 skill required. Absolutely nothing else matters whatsoever if that isn't there. Nothing. Zip.
And they just don't teach it in school.
Oddly, the only unifying aspect to good software people I've found is a strong background in music. Their field of degree, if any, hasn't been a fitness indicator of any real value. That isn't to say all musicians are good computer people, but (nearly) all good computer professionals are musicians.
I have always been amazed by the "baffle them with bull" types. They always rise. Look at our politicians. Talent appears to be a hindrance!
Oops, MCSE does not really exist anymore. Microsoft's new certification lines are "MCTS" and "MCITP". And if those are a joke (the TS line is pretty easy -- ITP somewhat more challenging), then I'm sure the Linux certs, in whatever form they come, are equally useless or useful in determining your level of knowledge. Hell, even someone with 5+ years of "work experience" may be a complete joke... but you've got to go on SOMETHING, right?
The original article is almost devoid of facts. What training is required to speak for "Advice Line"?
It's not at all clear what training is required for IT today? The Cisco "Rack Test"? How to fix broken Windows systems? J2EE programming? Linux server administration?
CS is even tougher. Robotics? AI? Machine learning? Graphics? Digital logic? "Cloud" programming? There are too many narrow niches. Pick the wrong one and you're toast.
I believe the degrees that focus on technical skills and theory are not what the OP is commenting about. I've noticed there's a huge number of 'degrees' out there that are based on Operations, and not Engineering and Technical Skills. These typically have buzzwords in their titles and should be classified as such (Operations), and not confused with the 'pure' science and technical degrees.
In my country, the local universities churn out a number of dodgy-sounding 'degrees' such as Management Information Systems, Business Information Systems, etc. I actually have no idea what these are, but there's a preoccupation here with sitting in a desk in an office, versus doing the work. They sound 'managerial' and give the freshie a skewed viewpoint in that they expect to be leading teams of engineers and IT departments, all the members of which could probably talk them under the table in a technical conversation.
Seriously, I'm presently looking for great engineers to grow my practice, but everyone I talk to seems to want Google pay without Google technical skills. They want to be project managers and team leaders, yet confess they're 'not very technical' in the phone interview. They also have no answer to my follow up on how they expect to lead a team without understanding the work at hand. I've believed that great engineers manage themselves, with a good eye on the realities of the project and the customer interests. The 'project manager', if not having engineering background, is most likely redundant. No, please don't give me the 'engineers don't have time to manage themselves'.
My question to everyone is this: At what point did the engineers allow themselves to become the grunts of the industry?
A lot of you are complaining about the lack of coding skills, as well as lack of theoretical knowledge.
The sad part is that more often than not excellent coders are not the best theorists -- some top coders get so involved with a particular language or technology, that they are effectively locked into it and vice-versa.
As mentioned earlier in one of the replies to this post -- IT and CS seem to be two siblings with diverging goals.
There are very few people who are both excellent coders as well as well-versed with theory and reality behind.
The truth of the matter is that these people have either worked very hard or have accumulated this expertise over long years of experience. So, to be honest -- you cannot really expect an AVERAGE fresh BS graduate to be highly honed in both.
I don't think many recruiters come with reasonable expectations themselves. (In interest of fairness - I am a masters student in CS, and I am from India)
Many come in ready to find someone who is tailor-made all-in-one panacea for their jobs.
Sure there are some students out there who feel entitled, but there are definitely people out there who genuinely intend to learn, fit in, and improve themselves.
May be the change needs to be mutual, not just on the colleges' end, but Recruiters and Companies also need to realize that there are distinct categories of CS graduates out there. If the job requires someone with both skills and you are having a hard time finding one person for it - then may be you need to split the job into theory-centric and code-centric part. Hire the best theorist out there and couple him/her with the best coder. Recruit them in such a way that they work together well -- and pair them for the tasks.
I am aware that many recruiters become jaded and form prejudices against classes of candidates (you can see many examples of that above) -- and may be there is some truth to that, but has it really been looked upon objectively?
This is code written by another in my class emailed to me asking for help. Yes I'm not bothering with the formatting.
import java.util.Scanner; // program uses class Scanner
public class Addressbook
{
public static void main( String args[] ){
int counter = 0;
while (counter 5){
System.out.println (counter);
counter+=
}
}
{
Scanner mil = new Scanner (System.in);
System.out.println ("Enter your name: ");
String name, addr, donation;
name = mil.nextLine();
System.out.println ("Enter your address, city, state and zipcode: ");
addr = mil.nextLine();
{
System.out.print( "Enter first integer: " ); // prompt
Scanner input = new Scanner( System.in );
int number1; // first number to add
int number2; // second number to add
int sum; // donation sum of number1 and number2
System.out.print( "Enter first donation: " ); // prompt
number1 = input.nextInt(); // read first number from user
System.out.print( "Enter second donation: " ); // prompt
number2 = input.nextInt(); // read second number from user
sum = number1 + number2; // add numbers
System.out.printf( "Sum is $%d\n", sum );
}
} // end method main
} // end class Addressbook
Is not the state of undergrads, sure I'm shocked when I come across one who can't write a simple join in SQL or write the proverbial 'fizzbuzz' program but from the Co-Op students I interviewed most recently the majority seemed competent. I do notice a lack of understanding of theory and hardware. I'm always amazed how these grads know squat about how computers actually work - it reminds me more of mainframe programmers who because of the degree of separation from the actual machine didn't have the slightest idea how their programs actually ran. With regard to theory I've often given applicants the opportunity to describe to me how they would approach implementing a function that is self-referential. The answer everyone gave: Recursion. From there I had to kind of remind them that such a program would recurse infinitely. Even the smartest person I interviewed who tried to go out of their way to convince me that they would write the function "tail recursive" so recursion wouldn't cause the program to fail. Missed the idea that an infinitely recursing program tail-or-non would produce no output. However much of that is excusable as long as this is an entry level job...
What I find insane is the number of people with post-graduate degrees - yes Masters and even PhD's in CS who are just as bad. Mind you some of these people have their undergraduate degree in a completely different discipline e.g. Art. Which is pretty rare in any other science.
MS cert tests are worse, they measure rote memorization of marketing material.
Vendor certs are typically worthless and extremely easy... Microsoft, Cisco, RedHat etc are not educational institutions. The primary goals of their certifications are not to educate people, they are designed to sell more products... The more people "certified" to use your products out there, the more likely companies are to buy your products.
http://spamdecoy.net - free throwaway anonymous email - avoid spam!
Actually the RHCE involves a practical exam where the boot configuration of a system is buggered up in a number of ways and you have to fix it within a time period. It's not particularly difficult to fix but it does involve investigating a problem to identify the causes and resolving them. i.e. you actually have to understand a bit about the boot sequence and do more than just rote memorization and regurgitation of a sequence of answers to a series of questions (which is how you get certified people with no understanding of the subject matter) . They were probably inspired by the well established and respected advanced Cisco exam that also includes a practical test.
Laissez lire, et laissez danser; ces deux amusements ne feront jamais de mal au monde. - Voltaire
...
I met another guy who got his degree from one of these supposed technical schools and didn't know how to navigate any of the basic tools in win (traceroute, ping, nbtstat, etc) let alone *nix, but thinks he's the king of networking.
...
We had one guy start with us to do some industry volunteer work - just troubleshooting simple problems.
He was studying a computer networks course and was 6 months into that.
I had to show him how to get to a DOS prompt in Windows XP... Then he asked me what ping did?
He apparently later decided that computers weren't for him.
Good point.
... That said, I've never met a CCIE who I thought didn't absolutely know their shit.
/. stereotype, but when it comes to networking, I rate it higher than a Ph.D.
I've been reluctant to get an MCSE or CCNA because of the number of 'Multiple Choice Selection Experts' and paper CCNA's I've met.
Nice to see Microsoft have gone and changed the initials to obsolete the qualifications that everyone holds (2008 MCSE is now MCITP to stop NT4 MCSE's from getting any value from their letters in the future)
I've met a CCIE or two who have all the social skills of a
Most CCIEs were CCNA's at one point :)
As they say 'Gotta learn to crawl before you can walk.'
Have we become part of a Turing test?
The RHCT and RHCE tests beg to differ.
"And while some institutions are emphasizing the value of teamwork in their curricula"
I think my university could have emphasized teamwork more. I came out with the ability to code whatever was needed in a few languages or to pick up new ones fairly quickly but working on a project with others was a definite gap in my abilities. I only had one project where I had ever done that and it was a very negative and lopsided experience. Understanding another person's code and adjusting between different styles when coming into existing projects with existing teams is much harder imho than just completing some programming exercise from scratch and alone. I am much better at this now but still find myself struggling in that area daily.
You're lucky. I've yet to meet a helpdesk guy who would be able to comprehend that "255.255.255.0" is not the universal subnet mask. At least they're better than the majority of IT-related management.
I'd have to agree with him. A BS means nothing these days, it just means you're not a complete idiot and you can follow instructions. It doesn't show that you can solve and apply your knowledge to a problem...and that is what the field is about. All a BS shows is you know how to memmorize things. Having a real world project under you belt is different by just about every measure.
A lot of colleges know this so they decide to force the students to go through a final course that requires you to build a project for a client. The problem is, just like with every other team coding project...one person does all the coding while the others just write up the documentation. That isn't how it works in the real world and that's what developers are expecting getting out of college that they'll jump into a job that allows them to delegate all their work to someone else.
The ONLY way to ensure someone has the knowledge that they claim to is to have repeated real world experience on their resume. Projects, open source projects, clients with few people working on the project. If a team of 5 people wrote a web interface using Drupal...you can bet only 1 of them barely understands anything and the rest are just complete idiots.
Let's face it...this isn't an easy field to gage and colleges are making it far harder by making classes easy on the students. You can't even hire an "A" college grad and expect an "A" coder. A BS is almost as meaningless in the real world as a certificate. The only problem is we have to many middle management types that got an MBA in the field that knew a little about computers hiring on developers that have no clue cause hey they have a BS right? The facts are simply a BS doesn't mean jack shit like it does in other fields. An A student is not an A coder.
I hear a lot of complaints about Universities here. But the original article talks about a student that worked her way through college relying on her classmates to do all her work. The reality is that you can fool just about any system and you can always be mediocre. This is not necessarily the fault of the school, but of the student herself!!
Other people here complain that new grads don't know how a debugger works or what the object relational impedence mismatch is.. but when I think about it I think most of these terms are what people learn when reading stuff on the internet or from books. Not necessarily from classes. When I went to school, there wasn't much web programming going on yet.. so it is impossible for the University to have taught me about such things. But today I know because I continue to read.
So I wouldn't base a hiring decision of a junior person on whether they know or don't know a fixed set of skills, but rather try to gauge what skills they HAVE successfully acquired and whether they have the capacity to learn.
For example, many people may know how to join tables together like this: select * from t1, t2 where t1.id = t2.id
But not like this: select * from t1 inner join t2 on t1.id = t2.id
If the person is applying to be a college professor this may be a show stopper.. but as a programmer I can just show him the new way and in 5 mins he should be able to pick it up.
Different people get different skills out of college. It is important that they show they have some skills and that they can learn. But to expect them to know that it is good to step through your code with a debugger (a la Steve McGuire) or to have experience in estimating code is a bit unreasonable because College assignments rarely have time to emphasize such aspects of professional life.
A junior programmer is someone you are hiring as an apprentice! But a CS degree proves to be invaluable over time because the person as she gains experience starts correlating what she learned w/the real world work and can go over it again and become a better developer over time. Also, a CS graduate can often look at a paper and learn something new (the wonders of skip lists, the marvels or randomized binary trees, random cache eviction) and understand the theoretical pros and cons better than someone that doesn't have those skills.
Seems to me that US employers have shown a strong preference for foreign workers. Less than 25% of people who work at IBM were born in the USA, and Bill Gates testifies before the US congress, all the time, saying the US needs to raise H1B caps.
Why bother with any kind of tech degree, when you will just have your job offshored anyway. Either that or you will be training your H1B replacement.
What really matters is what employers want. This blog post will explain what I mean:
http://techtoil.org/doku.php?id=articles:news_and_commentary
Leave certifications to CPR and Scuba Divers.
Let's not forget that vendor certification is a spectacularly profitable source of income. A 2-3 day vendor boot camp is comparable in cost to weeks of lectures, labs and homework assignments of a college course. That is of course fine, it is your money to spend. Where I take issue is where individuals start appending certifications to their Outlook and forum signatures like it's a goddamn PhD. I've shown MCSA's how to change the BIOS boot order and CCNA's how to burn a CD.
To me, certifications in how they apply to the individual shows that the rote memorization is there, but the passion is not.
Crusty Old Guys think New Guys Can't Hack It.
This sort of thing crops up every once in a while on Slashdot about how stupid recent college grads are. I mean, can't we go back into the old days when the REAL Geniuses like Archimedes and Newton grokked physics WITHOUT electricity! Or Indoor plumbing!
Fact is that new people haven't been grinded through the mill of real life. Eventually the worthless programmers will get fired and go work at a diner in Jersey.
Quite frankly, I've never had to manually translate hexidecimals or manage memory, but I'm still doing a great job doing what my job entails, putting together web applications in Java.
Most often memory management and binary and other low-level skills come about because of the necessity to conserve memory/increase performance. That's fine when it comes to game programming HF stock trading or other performance intensive apps.
But different jobs require different things. If it's more about getting multiple user friendly views of data, and providing an infinitely mutable codebase for such UIs, then performance takes a backseat to easy-reading, maintainability and extensibility.
A lot of the questions people are amazed can't be answered on-the-fly in an interview are easily learned/picked up from Google. I initially had no idea what a variable scope was, than I googled it..and I was like..you mean..just plain scope, right? I'm not sure it's wise to base your interview questions on things that 10 minutes of googling will solve.
Rarely will it ever be a necessity for your PROGRAMMER to memorize things, as long as he is capable of taking whatever you ask, learning it in a short period of time, and coming back with a solution.
( CS != IT )
They may not be able to build a shift register, but they could tell you how a netmask works or why spanning tree is important.
Then they probably won't be working on your helpdesk for long once the economy picks up.
Yet, here I am, no degree in anything, no certificates, and I make a great living providing IT services to small businesses self employed. I don't advertise, I don't even have a website (yet). I contract out to several HUGE IT service companies as a field tech, yup, you have heard of them, and I make more than most of their engineers do on the same projects.
When the economy tanked, my business shot through the roof. Two of the best years EVER.
So yup, the whole situation is really ironic. But I'm not complaining. :)