Mixed Signs On the State of IT Education 257
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.'"
It's not just the diploma mills (Score:5, Interesting)
The basic problem with certification programs... (Score:5, Interesting)
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.
Re:Or you could get an MSCE (Score:1, Interesting)
I'd just like to comment, as much as the MCSE gets knocked around. If you actually DO the coursework you WILL know lots about the software and networking computers of computers beyond the average joe. I've known programmers that DON'T KNOW much about anything when it comes to PC's and they can program alright, it's the effort you put into understanding that determines whether you end up knowing anything or not with anything anyone does.
If you just binge and purge for the tests and don't really have an interest in computers then yes you will not know much about computers. But I still have all my old MCSE course materials with TCP/IP essentials, and if anyone told me MCSE taught you nothing about computers I'd have to slap them silly.
While many aspects of MCSE can be memorized this does not mean the course contains no knowledge worthwhile like most people seem to think.
Re:Or you could get an MSCE (Score:5, Interesting)
I've actually seen this more from people who don't have a degree. I've had several people apply for jobs that think they are geniuses because they taught themselves to program. I should have kept an email one of them sent me a few years ago after I told him he didn't have the skills to be a senior developer. He went off about how how he starting programing when he was 15 and how awesome he was. By the way WTF and STFU are not proper acronyms for business correspondence. All the top developers in the company started programming when they were teenagers, then they went on to get degrees, and then they still need at least another 6 years of experience before I categorize them as senior level. Some people have 20 years and they still never make it to senior level. The only exception I've seen is a kid who started working for me when he was 16 and worked 30 hours a week while he finished out high school and then college. He actually had 6 years of experience by the time he graduated.
I can usually get an idea of skill level by talking to people, but occasionally people are just good talkers. So I have a coding test. I give them a simple set of requirements and set them down in front of an IDE and have them write an application. The requirements are to display a list of users with add, edit, and delete capabilities. The test takes an hour and it doesn't have to compile or be complete. I'm just looking for how people approach it. I've had people actually complete the application in an hour using XML as a data store, others may get a few classes written, some people produce nothing or cut and paste something from the internet that makes no sense. This weeds out the talkers from the doers very quickly.
Re:Or you could get an MSCE (Score:5, Interesting)
Huh? That hasn't been my experience. Most fresh-faced college graduates in my experience tend to be extremely nervous and well-aware of their lack of experience.
I should have specified it in my post I guess, while my background has been in software development, I work under the business side of my company at the moment in a solution and business application role, so the majority of degrees we deal with are business (logistics mainly) based. It probably does make a significant difference in attitudes.
Re:Or you could get an MSCE (Score:5, Interesting)
We just went through an interview cycle.
It was bad...
I'm not a great software engineer... but I'm a decent one.
The hardest thing I ever had to do was go through these resumes. Everyone seems to know the game. I compare there resume to mine, and yeah.... I couldn't tell the difference.
Two of our candidates had masters degrees in computer science. Couldn't even talk about variable scoping. It wasn't a trick question or anything. I was blown away. I had a literal WTF going on in my head. Are universities that desperate for funding and grad numbers, they will pass anyone.
The other spend 10 years at a bank doing ASP.NET development. The first question I ask people... is what topic would you like me to ask you a question on? So I ask him what little I know of web development... (impersonation, authentication, how do get a message box up...)
I was amazed at how you spend 10 years doing development and not learn anything.
Another I thought would be a good guy to train. He had 5 years at Nortel... seemed like he had hardware exposure. Lots of fancy words on his resume... nothing behind it.
We have a coop student now in her 3rd year at the University of Waterloo (my university... a supposed top engineering university in Canada)... calls me up to solve a problem. I help her out... I tell her to step through some code... she says what? Apparently she has never ran a debugger before. Hooooowwwwwww!!!!
I almost feel the pain HR and recruiters must go through. I'm sure somewhere in the bank of resumes we get are some good candidates... how we'd find them... no idea.
To an extent, I saw it coming as software is viewed more and more as a commodity job. Top talent is not going to enter the field. Top talent has gone back to traditional medicine, legal...The industry could burn through some of the older better trained talent from the old days... but those candidates are dwindling in number. I'm still in Canada, and all we have left are 45 year old ex-Nortel people and the last bits of talent from the tech boom of the late 90s.
And now we have a talent shortage. And you can't replace a grade A engineer with a grade C project manager, a grade C product manager, a grade C requirements analyst, a several grade C programmers.
Nothing gets done. It's like taking all the C students you had in high school and seeing if they can somehow solve the complex calculus problem. Some jobs just require high caliber individuals.
You can't replace a good lawyers with a team of secretaries and a requirements analyst either.
But I digress in my frustrations :P Maybe the industry just needs some good consolidation and the good people can form good teams again.
And maybe... just maybe... we can get back to having senior engineers, and real mentors, and training people.... ah the dream world I live in.
Whats the best. (Score:1, Interesting)
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.
The ability to keep learning. (Score:3, Interesting)
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.
You can't have it both ways... (Score:2, Interesting)
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?
Re:Or you could get an MSCE (Score:3, Interesting)
This is what sickens me the most about our current copyright system.
Once a grade A programmer writes some grade A software, it doesn't go bad. There is absolutely no reason for it to be trapped in some corporation's walled garden - that company's need is fulfilled, there is no reason not to set it free except to screw their competitors. Apparently, the need to screw your competitors takes far more important than the idea that there's absolutely no need to invent the wheel five times over.
I mean, just imagine where we would be if all software were absolutely in the public domain (overriding any contracts) five years after the first public sale. As long as at least one person managed to save or sneak out the Windows 2K source code, we would have had the Windows 2000 and Office 2000 source code for five years now. This would have have pre-empted the whole Microsoft OOXML debacle; by now, Wine would be effectively Windows compatible, and companies like Stardock would probably be selling their own enhanced versions of Windows.
I can see basically no downside to it - all those copies of Windows 2K and XP and Vista and 7 would have still been sold, after all. The only difference is that the public domain would have been enriched in our lifetimes, with the work of our peers.
Re:Or you could get an MSCE (Score:2, Interesting)
This is a fair point. I'm a programmer (self taught early age and learnt other languages later) but i'm certainly no developer. Professional experienced developers would either laugh or cry if they saw some of the code I write.
Still, i'd rather have someone like me than someone with an MCSE. I remember one girl who loved to proclaim that she was an MCSE but one day called me to help her because she didn't know how to install Win NT4 Server.... WTF? (I wasn't an MS guy, I was Novell certified).
Re:What I find even scarier... (Score:1, Interesting)
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.
function factorial(argument)
if (argument eq 0) return 1
return argument * factorial(argument - 1)
end_function
print factorial(0) => 1
print factorial(1) => 1
print factorial(2) => 2
print factorial(3) => 6
Did I miss something in your statement that makes the example invalid?
Re:Or you could get an MSCE (Score:3, Interesting)
Not sure about the funding in the rest of Europe, but in the UK anyone moderately competent can get funding to do a PhD, which means that they get a non-taxable stipend for the three years that works out close to after-tax amount of an entry-level graduate salary.
I'm in Cambridge, UK, and though I work in industry I still have plenty of ties to the university. I'm afraid I don't recognise the picture you are painting.
In the current academic year, the basic research council funding for a PhD is £13,290 [epsrc.ac.uk].
Under the current tax system, that is equivalent to a gross salary of just under £16,500.
The average starting salary in IT was probably higher than that a decade ago, and much higher if you're talking about working in London and/or working for a big name company that goes after the academic high-flyers.
I also think various friends who are doing PhDs, several of them in Computer Science, would laugh at your description of "spending three years being paid to have fun". Relatively few of my friends have actually completed their PhDs within the "normal" three-year/ten-term window, and many have found themselves writing up and jumping through the final hoops for several months afterwards, while trying to do a full time job as well; funding doesn't extend just because the research/write-up does!