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.
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.
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'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.
I believe the idea is that an individualistic program requires that individuals know everything, whereas those in a team can specialize since your team mates will handle the things you can't.
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
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.
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.
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.
"has no idea what, for example, the term 'object-relational impedance mismatch' might mean."
I have to say, having gone through a real CS program (quite a while ago now) that covered everything from assembler to algorithm analysis and theoretical proofs, "object-relational impedance mismatch" set off the buzzword warnings.
A Google search confirmed my impression. The problem it describes is (sort of) real, but the term is idiotic. The kind of thing they'd put on one of these newfangled multiple guess CS exams.
that's because comp sci isn't about creating software systems. that would be the "software engineering" major.
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.
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?
MS cert tests are worse, they measure rote memorization of marketing material.
but (nearly) all good computer professionals are musicians.
Then I'm doomed. Even my fart is off tune.
By your criteria, the cashier at McDonald's is an IT professional
I never said "IT Professional," but yes, they are involved in IT. Nearly everybody is, it permeates all of our lives. Which is why we should use more meaningful terms like "programmer" or "software developer" or "database administrator." The term "IT" is malformed and useless.
... and then they built the supercollider.