I think you will find...
that "personal services" = "Do you want fries with that?"
Computer science graduates have even less chance than media studies grads of being in gainful employment six months after leaving college, government figures show. Latest figures from the Higher Education Statistics Agency show in 2008/2009, 1375 of the 8090 computer science students it could track down six months after …
Perhaps it has something to do with the abysmal quality of recent computer science graduates.
At my previous job we were recruiting and interviewed the best of the bunch who claimed to have good C, C++ or C# experience on their CV's. We gave them a little puzzle which involved writing some code to solve an anagram given text file dictionary. We weren't expecting a fully debugged program in the language of their choice after half an hour, but at least something to indicate they understood the problem and could break it down in to logical steps. Many of them didn't manage a single line of code, and most didn't have a clue on how to read a word from a one word per line text file. In the end we rejected all the graduates and went for a guy in his late 50's, who might of started on Cobol, but had the thought process of a programmer.
What with the eleventy million kids going to uni, all of them wanting to study computer science and then sitting about waiting for that cushty job they were promised to simply materialise because they have a bit of paper.
I was a building site labourer for 6 months with a masters in mechanical engineering because it was better than the dole and sometimes life isn't all roses all the way through. Sometimes life serves you a big slice of shit pie and you have to take a bite
......on from where they graduated.
Also the comparison with Media Studies only holds water if you factor in where said graduates are working - I'd wager its mostly a junior job in a non-media related role, whereas most Comp Sci graduates are working in 'puters with a decent career path ahead.
Assuming the stats were using HMRC's definition of a Personal Services Company, that simply means that a lot of biologists have started or joined very very small companies. In fast, the only reliable definition of a "Personal Service Company" I could find was here: http://www.contractorcalculator.co.uk/what_is_a_personal_service_company.aspx
relating to contractors.
"And so the term personal service company began to be used by HMRC to describe businesses they considered as tax evaders and potentially the subject of tax investigations. "
And this is HMRC's take: http://www.hmrc.gov.uk/ir35/
Of course this is much more boring than assuming the statistics mean there are 165 prostitutes or escorts who could represent you in court.
A company in the UK places add for "Programmer" and gets 40 applicants. The company tests applicants and find them to be mostly wankers and so places a second advertisement in the local paper. More CV's arrive and the girl who's employed to clean the office and empty the trash sees the advert and applies too - except that her spoken English is very poor (even for a graduate of a Russian University).
Everyone laughs and gives a copy of the test to the girl as well - the test is to write a short program that can parse a serial data stream from a port given the data format. Everyone gets a day to complete the test - the catch here is that there are some errors in the stream ... it's a real time, real life test.
When they look at the results - most of the submitted programs are huge and don't work or crash when errors appear - except for the Russian girls program - which works, it's tiny yet includes a test harness to demonstrate its operation and full error trapping and diagnostic dumps when the serial stream contained errors.
Definitely, the level of most (not all) university graduates from the field of computer science/engineering is much lower than it was ten years ago. The Universities have severely watered down the curriculum so that they can accept more students etc etc. If you want graduates with a high level look at some of the blue chip companies and see from where they are hiring . Intel for example hires most of its R&D people from Israel, even a large amount of Intel's R&D staff in the states comes from Israel. Also significant amount of university graduates are ex Soviet Union who had a very good schooling in maths.
Want a better level graduate, you can't throw so much money away at revamping t he Banks of the world.We need to invest more money in education. You get what you pay for!
Invest in what matters , education.
Yes - She worked there for several years afterward - the people running the company were not fools.
We talked about it - her theory was that she'd been forced to learn to program efficiently because the machines and software that the Russian University could afford were old and very basic ... however on arriving in the UK (husband moved to take a job locally) nobody would even look at her qualifications because of her thick accent and everyone "knew" that the Russian Universities were antiquated.
The real problem is that university departments are more highly stressed by the need to perform in the Research Assessment Exercise (RAE) than in undergraduate teaching. The teaching funding is not ring fenced to teaching, so is top sliced to inflate the Vice Chancellors salary, and much of what is left is diverted to pay for research that fails to attract its own funding.
Under Graduate teaching resource has been dissipated, and students are taught by researchers with less interest in supporting under graduates. This system may favour the better students, especially in top departments with secure funding for research. The proportion of researchers who do not have a secure capability in the English language has greatly increased, and is unhelpful to students.
Departments in less prestigious universities take weaker students who need the more concerned teaching that was a feature of the former polytechnics. But, these institutions are pressured to "research" to boost their reputation, and to fund the research from the undergraduate teaching stream.
CS graduates are being pumped out faster than jobs are being created.
Combine this with modern outsourcing trends (in the US anyways) and we end up with CS being a very high risk career.
Those who already have cushy CS jobs are probably safe, those who are younger will just have to deal with fewer prospects than in the past.
Call me a nut - which I'm sure some people would be happy to - but I've been glad to avoid college about comp. sci, if simply to avoid having to inherit any one teacher's personal views of the matters involved with the same (as would well be required that one would at least discern and acknowledge, or just play along with, so in order to pass any one oh-so-beloved course)
I'm sure that most chief boffins would naturally hedge themselves at the accusation, but I proceed about it anyway: I myself don't feel I can be so sure that computer science is actually understood so very well, these days, even by persons electing themselves to teach about it.
I say that not to send off any alarm bells, but rather, to call for a lot more candor, in the comp-sci-school environment
Much the same thing here when I graduated 20 years ago; my qualifications got me six months' manual labour in a factory! It was a little galling seeing endless tech companies bemoaning the lack of candidates with work experience whilst none of them were prepared to offer it: "come back when you've been working for one/three/five years" being a common response to the dozens if not hundreds of applications I sent off. It was at least small consolation that my situation wasn't unusual, though.
I think most galling of all was being given the choice to do a "useful" HND in computer science or an "alternatively useful" degree in sociology: I went for computer science, only to subsequently find literature from local tech companies typically boasting that all its staff had degrees - but all in sociology and the like. In one particularly egregious example I don't think they had a single technically-qualified member of staff on their IT team.
I'll be the first to admit that not all IT graduates have the sun shining out of their collective arses, but some of the metrics used to recruit staff are even more questionable. Though I also have to admit some of the best staff I've worked with started off as secretaries and receptionists.
Someone "studying" for a degree in tourism, or hospitality (or even history or media) pretty much knows which side of the counter they will spend their working lives. Until, that is, it's their turn to clean the tables.. However CS graduates come out of university, optimistically clutching their little bits of paper, with all the hopes they had when they were persuaded to start the course: IT is a growing industry, lots of job opportunities, well paid, interesting work and all the other stuff their clueless careers advisors told them about in school.
However, sit them down in an office and ask them to look into why a particular piece of SQL runs slow, or why those 6 users take 5 minutes to log in, or how to remotely install printers in the Cardiff office and all you'll get is a blank look. That's not what they signed up for! They wanted to write the next generation of games - singlehandedly. Ask them, at interview, about configuring a firewall or the pros and cons of W2K8 verses RHEL and they'll probably start to cry.
In fact there's not that much that a new CS graduate can do for a company that a school leaver with a "For Dummies" book couldn't. But without the salary requirements needed to pay off their student loan. Personally I feel that anyone wanting to work in IT would be better off learning to drive, than getting a degree. They'll still have to be trained in everything, but at least they would have the mobility to work in places without tube trains.
Perhaps employers should realise that a CS graduate is not there as a Microsoft or Linux monkey. You are not trained in university to be a Microsoft or Linux engineer. You are taught about the basic principles that govern the I.T world. You are learning a little bit of everything so you can specialise in the future in an area of your choice.
Someone with a "For Dummies" book will not be able to organise a company network or create a plan for future upgrades . They won't be able to design a network with X amount of server and workstations.
If you are looking for a Linux or MS monkey then go find someone certified by those companies. You will find their abilities quite limited to what their vendor provides. If you want a programmer then go find someone who spent their years programming because CS graduates usually only know the basic concepts of programming and can only do basic stuff.
If you want someone who can manage a group of MS/Linux/C++/SQL etc etc then that is what your CS graduate is for. He will at least be able to communicate with his team and understand what they are talking about and he will be able to plan a course of action on a given problem.
Employers are under the illusion that a CS graduate is a one-man-army that can magically solve any computer problem you throw at him.
I am not talking about someone who does nothing. A real manager has lots of work to do and has to constantly work with the team. I am talking about a manager who has a vision and understands the strengths and weaknesses of his team. I am talking about someone who can sit down and have a technical discussion with his team so they can create a good product.
If you don't need such a manager in your company then most likely you are running a very small company that is better off with some certified engineer who can troubleshoot little problems here and there.
Your comments are not even true. A decent CS grad will have spent most of their time learning to program, or learning about the algorithms behind the code. Are you trying to claim that most programmers are not CS grads? The course you're describing sounds like some dodgy post-grad "How to be an IT manager" crap or something.....
Actually where i work, most computer programmers are Engineering grads. We only have one CS grad in the whole building. We have 2 electrical engineers, 2 mechanical engineers, 1 Aerospace enginneer, a law graduate, one single CS grad, and a former english teacher. (And we are a Legal information company, not an engineering company)
Thats what it comes down to.
Knowledge isnt enough. You can pick knowledge up. Training in problem solving is much more difficult to come by.
Frank 6 says, "Perhaps employers should realise that a CS graduate is not there as a Microsoft or Linux monkey. You are not trained in university to be a Microsoft or Linux engineer. You are taught about the basic principles that govern the I.T world." When I was interviewing candidates for a position the above is exactly what I found, Visual Studio Technicians masquerading as CS Graduates. They couldn't grasp any solution that didn't have a canned Visual Studio solution.
Who would expect a biology graduate to be able to remove your tonsils? Thankfully not the NHS, who take promising science graduates (and those that specialised in medical undergrads) and trained them up over the course of many years of blended practical and academic training that often continues throughout their working lives.
Perhaps the everlasting skill shortage crisis in computing (that feeds the careers advising beast) and the appallingly high unemployment rate is more to do with cheap employers expecting everyone else to pay for what most other businesses proved as part of the employee on-boarding process.
Since when was a 3 year degree supposed to be an apprenticeship? Undergraduate degrees are for giving a deep dive for anyone interested in further academic study and useful as a guide to the relative ability/intelligence of potential employees.
The computing industry was built by people that had no idea how to even operate a computer (they had very good typists for that), but had degrees that demonstrated they were far from dummies, which was useful because any specific computing skills they did learn in Uni were destined for obsolescence in a decade so they needed the smarts to keep up. Things have changed, no longer are slumming maths and science graduates being converted into computing gurus, but just because most graduates come with some languages and skills preloaded doesn't change the fact that the employer has still got to integrate a graduate.
Computing may have more than its fair share of opportunists (though hopefully less since the first dot.com bubble); some would be happier studying HNDs (e.g., perhaps focusing on much revered DBA/sysadmin skills), some should be planted in a field.. never to touch a computer... ever, some will go on to software design roles, and some will go wee-wee-wee at the thought of ever leaving CS academia.
I get prospective employees (I don't even bother with anyone having less than an MSC from a UK University) to write about their journey to the interview. That way I find out if they can actually write with a pen, if they can spell, use punctuation, and actually construct a narative. So many fail on all of the above!!!
An earlier poster mentioned a Russian girl - I once employed a Ukranian who looked and sounded as though he'd had one too many fights with a bear (he was about the same size), but he was a wonderfully tight coder. The only problem I had with him was that he made a Chinese bloke learn English from Roger Melly's Prophanosourace! I swear that he thought "you dirty git" was the equivalent of "good morning", but again he was a good coder.
For an example to my daughter who is studying for GCSE's I sat a Biology past paper last week. I scored 100% - not bad for someone who has never studied Biology!!! Carefully reading the multiple choice questions always gave the answer, even when I did not know the specialist terms - papers like that are completely spoonfeeding the students, and it's no wonder that they get such high marks.
I cant say I find recruiting graduates particularly easy. If I put adds on Monster I get flooded with immigrant graduates with visa issues. The university graduate recruiting network is no better and not much cheaper. In fact I would say more expensive.
I left with the impression that the computer graduates were being snapped up before I got a look in.
So what the heck is going on? Or at the stats distorted by foreign students?
We've had a lot of luck with graduates this year - which surprised me given that in the past I've had the same issues with visas etc.
Advertised directly with the local university compsci departments - and by advertised, I mean asked them to email round a job ad for us. Cost nothing and seemed to get us a decent set of applicants.
We were a bit behind with things this year (well, really a lot) and only starting seriously looking in March. I had expected all of the good ones would have been snapped up too but I was pleasantly surprised and we managed to hire several.
I was a reasonable student at University, I attended most lectures and I did ok in the end.
Although I wasn't the best in my fields, I had dedication to help me. After graduating, in the space of three months I applied for around 300 jobs. I did free work to gain field experience and when I started my first job as IT administrator for a product company, I was still working two jobs. After 6 months, the company I had done free work for approached me and offered me a job.
It may not be the best solution but it payed off well and I'm enjoying everything I do!
Firstly those who are jobless are likely to have more time on their hands to respond, and they probably feel like a whinge too... likely skewing the statistics upwards...
Secondly, was this an electronic survey? Something unemployed CS graduates are probably quite likely to reply to...
Hmmm how good are the stats?
I don't want to offend but this is exactly the attitude in companies that annoys me and costs them.
I'm doing a mass-load of data into a database, for which I need to reformat at least 25 gig (not meg) of text data to make it suitable for loading. It has to be fast, so I'm rewriting my first attempt in c#. Allocate a big fat byte buffer, fill it from a file then cruise through parsing out the relevant bits and squirting them into the final file. Rinse and repeat the next N thousand files. Plenty of assertions to get it right, decent sanity checks etc and it is snappy indeed, and it's taken me a day and a half. Not too complex. No memory mapping, no fancy I/O.
Then again it's also my first ever use of c# and .net, and probably the first time I've touched an MS compiler/dev environment since 1995-ish.
Point is, you don't want c# programmers, or Java programmers, or c++ programmers, whatever. You want a *programmer*, who by their nature must be a flexible beast, but you call for precisely X because you don't understand that under the surface many of these things are much the same and can be easily transferred between.
And you also don't get that just because a person has five years of Y doesn't mean they're any good at it. Doesn't stop you lot advertising for both with a simple ticklist approach though.
Sorry to sound peeved.
(Anon because it's rude to blow your own strumpet )
Like in my case for example: 1st class honours I.T with 1st class honours in MSc computer networks and making 9£.50 an hour managing 3 physical servers with 2 virtual machines each, running Exchange, ISA, File sharing etc etc. I work in central London at an hourly rate below that of the company's secretary.
Yes, it is a small company but it deals with real estate and there is lots of money involved so there is no excuse for them to treat me like I am the office cleaner.
Posting anonymous for obvious reasons.
i have singlehandedly upgraded the entire network twice over weekends without sleep and without any problems at all. I have had 0 downtime since i took over (the company had at least 5 hours downtime per week before i took over) and I never had a problem that I could not solve within minutes. I have given them a fully redundant network with fully automated external backups as opposed to the mess they had before involving manual backups daily and severe availability problems.
Yes, I am good at what I do and I am confident and they themselves say that they have no complaints with my work. The problem is that the bosses prefer to give themselves a fat bonus than give me a decent salary. The only reason I am staying with them is because I am working on a PhD at the moment and due to the reliability of the network I got lots of free time to concentrate on my research. But that does not mean they should give me £9.50 per hour every time I have to go change some configuration or apply updates and audit the entire network's security.
So you redesigned their infrastructure to the point that you near enough made your role redundant yet feel justified in whining that they aren't paying enough? Perhaps the reason you haven't demanded the pay rise you feel you deserve is because your employers realize that you've done all the work and don't really need you all that much.
After graduating from university last year and doing the run of job interviews I found most companies had very unrealistic expectations of CS students. They seem to think that by having a degree in the field would mean you would have a god-like knowledge into a highly specialized area or language. (We aren't all autistic. Some of us like to go out as much as the next man).
A CS degree is meant to be broad and would ideally teach multiple, different programming languages. Rather than churning out specialists in certain areas universities attempt to produce people with general skills so they can adapt to the changes in technology, languages and current fads.
If you're a company looking for someone who knows "the pros and cons of W2K8 verses RHE" straight out of uni and are unwilling to provide training then you're an idiot. The whole point CS graduates can be picked up for cheap is to offset the training cost. There seriously is no point getting someone to spend 4 years learning the in's and out's of today's tech as by tomorrow it will only be used to prop open the comms room door. It's far more important to teach the fundamentals in a broad array of areas so they can then go on to enter into any arena they choose and still be able to have a grasp of what's going on.
So half the employers are complaining that CS grads don't immediately know how to install printers or fix some bit of MS software - like hiring a Mech-Eng and expecting that they know how to change a cambelt on a 1972 Escort.
And the rest of the world complains that CS grads are only trained in the latest fad (Java/C#/asp.net) and know nothing about the fundementals of CS.
These are government statistics. This means that we will be using all HESA course codes in subject area 25.
(Decrypt: G4xx Computer Science, G5xx IT, G6x Software (and other) Engineering, G7xx AI, G8xx I just don't care).
So the message might more simply have been stated as: if you have a degree in IT, you'll struggle to get a job. The CS students will be a minority amongst the sample included within these statistics. Certainly here in Manchester, our graduates have turned out to be more employable than any others in the science faculty for the last year.
You go to a job interview and they assume that you are able to solve any computer related problem. They think that a CS graduate should be an expert on Linux, Apple, MS and a dozen programming languages.
If you want a programmer then go get a damn software engineer. If you want someone to troubleshoot and maintain your MS software then get a Microsoft engineer. However, if you want someone who can sit down and design a cost effective way to implement a network and take into account all the software/hardware and human resources involved then I am your guy.
I was trained to have a basic understanding of lots of different things. I am the guy who will organise a team of certified professionals so they can work like a good oiled engine but don't expect me to baby sit them and solve their problems for them and don't expect me to be one-man-band and singlehandedly erase all your problems from existence.
If you need a specialist, you hire a specialist, simple. What you don't do is advertise for a CS graduate, where graduate in this sense clearly implies recently graduated rather than someone who simply has a CS degree, and then complain no one is up to scratch these days.
Cry me a river, I'm not looking to employ another manager . If I need to do that I can find a suitable candidate with at least 5 years domain specific knowledge internally.
'I was trained to have a basic understanding of lots of different things. I am the guy who will organise a team of certified professionals so they can work like a good oiled engine but don't expect me to baby sit them and solve their problems for them and don't expect me to be one-man-band and singlehandedly erase all your problems from existence.'
Thats why we have experienced in their field Team leaders and managers who known when they are expected to solve problems
If I need someone whose proven cable of being able to learn and organise study - then I dont need a CS graduate and can pick candidates from any discipline
New hires get thrown in at the sharp end ie. Help Desk and rotate through the various teams.
In my experience an exceptional CS graduate starts to become productive 1 year into the job - average ones about 18 months.
'If you want a programmer then go get a damn software engineer. If you want someone to troubleshoot and maintain your MS software then get a Microsoft engineer' - so what are you bringing to the table with your CS degree?
There's very little point marketing yourself as a generalist with a CS degree unless you expect your employer to be able to put your general, wide-ranging yet curiously non-specific skills to use. That might work if you and they form some sort of pact where in 20 years you will have seen all the IT aspects of the company and can, in time, become their head of IT - complete with hands on understanding of what all the various IT elements do.
However, most companies that hire people do so because they have a specific, immediate requirement for someone who can contribute and make a difference NOW. Sadly most graduates (myself included) take about 6 months to get out of the habits of student life and become au fait with the rigours of a 9-5. Couple that with most technical graduates only staying in their first job for 2 - 3 years and there's not a lot of point hiring someone and then training them, if they won't be around long enough to get a decent return for the investment.
As it is, everyone in IT has to adapt constantly to the changes in the industry - it's not an ability you learn in college. Typically the half-life of an IT skill is maybe 5 years: half the stuff you learned 5 years ago is obsolete, half the stuff you'll be doing in 5 years time, you don't know about yet. You have to constantly learn, change, adapt and educate yourself - just as a school leaver with 2 O-levels and a budgerigar would. The "general skills" you learn on your degree course don't make you that special or useful. The only attribute you have that's worth a company spending time on you is a willingness to learn the stuff they need, and to learn it quickly. That's all your degree tells a recruiter - that you can read a book, or spend an hour on Google, then sit down at a desk and knock out some useful stuff.
Perhaps I didn't explain clearly enough.
Firstly, obviously I don't market myself as being a generalist with a CS degree, and I would like to believe that most people are smart enough not to. Depending on the job, I would point out relevant skills and experience picked up from my courses and previous work.
Secondly, no one is saying that CS graduates are particularly special, but they do have a particular advantage over people who either have no experience or qualifications in the field, or people who studied a different subject. You use the right tool for the job, if you want a developer you'll want to hire someone with problem solving skills, knowledge of the sector and fundamental knowledge in programming. Sure the old geezy in the pub with no qualifications but has been programming COBOL since the Dark Ages may be better for your needs simply because he has years more experience, and of course if you're wanting hardcore statistical models then you may find a Maths grad with some programming knowledge of more use, but if you're wanting developer then you'll probably want someone freshly versed in design models, programming fundamentals, problem solving, etc. Obviously if you're company is in need of someone to "hit the ground running" with no ability to provide even the slightest mentoring or training then you shouldn't be looking at any kind of graduate or inexperience individual, you should be looking for someone who's been out in the real world developing the skills you want. Graduates, or any other kind of n00b to the industry, is clearly going to need molding and nurturing. It's precisely that reason that graduate jobs go for £22k-£27k while developer roles go for +£40k. If your company can't afford training then it shouldn't be trying to skimp out on a £22k role when it needs to be offering a £40k role. You get what you pay for, and graduate may be cheap but you're going to have to invest some time and effort.
Thirdly, in regards to "That's all your degree tells a recruiter - that you can read a book, or spend an hour on Google, then sit down at a desk and knock out some useful stuff." You're giving too much credit to the recruiters. As explained in the original post, the recruiters expect the lecturers to have bestowed a god-like knowledge upon the students. A lot of the time they don't care if you know how to use Google, they have a set of questions that if you aren't able to answer there and then you clearly aren't good enough. Example, Bloomberg will only begin to interview a CS graduate if they score a Master rating on the Brainbench/Previsor C++ test, which requires you to know the most obscure points of the language that you will typically never encounter. For some reason a Proficient rating, which means capable of day to day programming in the language simply isn't good enough. Sure they're going to want optimized and cleverly designed code but being able to do that isn't going to reflect in knowing the precise instantiation order of a highly convoluted and unrealistic inheritance model involving virtuals, and if the instantiation order was really of an issue surely the average Joe would be smart enough to run it through a debugger to find it out.
"Couple that with most technical graduates only staying in their first job for 2 - 3 years and there's not a lot of point hiring someone and then training them, if they won't be around long enough to get a decent return for the investment." If that were the case the problem would be a lack of offers, not a lack in up take as companies would be wanting to only hire people with actual hands on experience.
The three point discusion (right or wrong) from the CS graduate would be enough to get him through my door - if only we were taking people on rather than going the other way!
If you can construct a well written argument, then you can construct code - and with as much experience in that programming language as you have in your verbal language - then that will be very good code.
"like hiring a Mech-Eng and expecting that they know how to change a cambelt on a 1972 Escort."
... since only about 300** 1972 Escorts ever had cambelts. The other quarter of a million had chain drive. ;)
** "... only around 1137 RS1600's were actually produced over the vehicles entire five year production span to the end of 1974." - http://www.avoclub.com/avosite/rs1600.html
All of these Comp Sci graduates should spend their time bettering themselves by doing a Cerco course. These lead to an industry recognised qualification and could lead to a salary of around £30,000 per year in the exciting field of PC maintenance; and demand for qualified IT maintenance technicians has never been higher. They'll even help you find your first job after "graduating".
So there you go. No excuses...
Your post gives me no sympathy. I think that too many courses churns out candidates with absolutely no practical skills.
I'm a CS graduate. I employ CS graduates now. I'm now of the mind that I take little interest in their grades but a heck of lot of interest in their final year projects and hobby projects. The good graduates I say I need XYZ, we dont know much about that ourselves, go figure it out. The good ones do.
"are unwilling to provide training then you're an idiot." - I think you are the idiot. If after your course you dont have enough breadth of learning to pickup a book and or try things out for yourself then you are a lost cause. You sound like the type of graduate that needs to be spoon fed. Go work in a factory where there is a fix set of instructions and you dont have to be too creative or work under your own initiative!
Companies have precious little time to train new employees. If you sound like you're going to need your hand held you won't get the job. They don't expect you to know everything, they want to know how you react to questions you don't initially understand. Because you're not going to understand their company or their product at first, and no one is going to bother teaching you either. You have to teach yourself and, crucially, demonstrate that you are able to teach yourself.
If that's beyond your capabilities, you're looking for the wrong job.
"I'm a CS graduate. I employ CS graduates now. I'm now of the mind that I take little interest in their grades but a heck of lot of interest in their final year projects and hobby projects."
I agree with you there. The actual grades mean nearly nothing. It's mainly down to the person's interests, intelligence, experience and how they convey themselves. If they can demonstrate an understanding of problem solving, programming fundamentals, and basic knowledge in the field (essentially what a CS course does) then you shouldn't really need to worry about them being an expert C++ programming with experience of data signal processing on embedded systems created by manufacturing X in the year 2004. You expect them to pick stuff up as they go along, while obviously putting a lot of self learning when not in the office. This is what I would consider training, this time in which they're learning. Whether it's you sending them on a course, buying the books for them, or allowing them some time to go off and read a website is just semantics.
At least you are not expecting them to know everything. Yes, a good graduate will go out and figure out a solution to a problem he has never seen before. He will constantly spend time learning new things and applying new ideas.
However, if you are running some kind of specialised software that you company created and you are not willing to give training then you are an idiot. You cannot expect them to go out and open a book and give you solutions the next day. Even those who manage that it would be a completely out of luck. At the end of the day it may not even be cost effective for you to wait for them to learn things on their own. Or do you expect them to go out on a training course and pay for it out of their own pocket only to acquire skills that they may never need again in their lives?
' "are unwilling to provide training then you're an idiot." - I think you are the idiot. If after your course you dont have enough breadth of learning to pickup a book and or try things out for yourself then you are a lost cause. You sound like the type of graduate that needs to be spoon fed. '
Being given the chance to read a book and try things out while on the job would count as training/experience. Expecting someone to train themselves to be Cisco certified, or similar, before coming to you is ridiculous.
I have evolved into the position where I work. Moving from pencils to CAD to IT and finally to business systems. I have been asked about the value of taking up computer related studies. I tell them SQL, C, .Net, etc... are all skills that will help you function in the world. I even think they are almost required now, just like being able to read and write. But those skills are not enough by themselves. Computer skills don't make a career, but they can help.
I wonder how many spots for computer scientists there are ever going to be? Then, how many jobs are there for political scientists? Almost everybody I know is working in a field other than what their degree is in anyway.
I took a gap year before my final year and got some industry experience... a lot of my friends did not, and because of that they found it hard getting a job when leaving, some gave up and went into retail in the end. I had a job offer through my gap year - so I was went from studying one week, to employment the next. 5 years and one terrible job move later, I get made redundant, and now I'm looking for a job - only issue is, I have been in quite a specialised application area these last few years, and potential employers expect that if you've been using a language, that I know all the obscure areas of it too.
My recent solution has been to be completely upfront in my CV about experience, gaps in experience, and any training I will need once I begin - through this I've had a couple of offers with companies who are more interested in my thought process and the fact I've been honest and upfront.
I do feel sorry for todays graduates - I had it slightly better than they do now, yet I'm still paying off a massive student loan, and earn substantially less money than my wife who doesn't even have a job in the field her degree was in.
I guess you just have to figure out how to set yourself apart from others looking.
Are you sure you are not future me?
My uni had a placement system whereby you got placed with a local business and got a small wage for it - based on that experience I got a full-time job at the same place when I graduated. I was IN!
Are these kind of schemes still run? This was a decade or so ago so I'm not completely sure.
I think employers are still willing to take on gap-year students for next to nothing, but my university changed it from a mandatory placement year to an optional one - obviously they would let you carry on if you tried and couldn't get a placement, but you had to apply to at least one... I don't think a lot of universities bother trying to push people into placements these days, it's a shame too - mine definitely had a lasting effect on my career (a positive one).
If you want to work in IT, even with a degree you may have to take a lower paid job to get in to the industry.
A degree doesn't give you a right to a high salary, but work experience in the field will open alot of doors. After graduating in CS albeit 12 years ago I took a very low paid position to get some one the job training and work experience. All came good in the end.
Admittedly market conditions are worse right now, but if you are determined enough there are opportunities out there.
why some of the people in this thread can't find jobs
"sorry I can't do this, can't do that, won't work for that salary"
Why did you apply for the job then? Clearly you either didn't read the job description or you thought you'd turn up and waste some of their time.
Don't say "oh sorry uni never taught me that", say "can I do a little research and tell you the answer next week?" It might be corny but at least you won't look completely clueless.
I give them a lot of chances. I let them pick a language they are happy with, and then ask them questions in that language. I expect them to be able to have a good crack (not be an expert I hasten to add) at the following:
3) Some detail on their language - for example, writing a simple singleton in the language
4) Basics of OO - describe at least one design pattern
5) A bit on algorithmic complexity
6) Edge conditions in algorithm design
As an example of the level of difficulty I go to, I would expect a candidate to be able to explain a deadlock and a race condition, but not explain to me how to use a pthread semaphore. Many of my questions were lifted from first year and second year practicals in my own degree. In my previous job I actually used to send the questions out to people a couple of days in advance.
I find in general that less than 10% of grads can cope with my questions. If they do cope with them, they generally get a job!
Lost in the possibly off-topic whining about how poor recent undergrads are is an interesting question. Where is the shortage? People keep talking about job growth in CS being higher than graduating rates. Where is this shortage, in view of this statistic about recent grads?
Maybe the shortage is only of highly qualified 10-year veterans willing to work for $10/hr. Maybe the shortage is only of guys who have 10 years experience in all three of C++, Java, and Cobol. Maybe the shortage is of 160 I.Q. geniuses, of which there will always be a shortage.
In my business at least, I have watched as we've sawn off the bottom rungs of the career ladder and exported them to Eastern Europe.
And then there's the people who offer to work for free for three months (in Central London I might add) just to get some experience.
Seems like the only way to get off the ground these days is to have a trust fund or to have been running your own business since you were 16.
I don't think they teach run of the mill CS students about real life problem solving. The truth is that most anyone can write program code these days but that's not programming. The essence of programming is understanding the problem you're trying to solve, not knowing which of the tens of thousands of API calls is the one that will solve it for you.
My son recently graduated with a fairly mediocre degree in Applied Math. I was looking forward to enjoying his company for the indefinite future while he found a succession of meaningless jobs, the sort that my friends graduate kids have ("barista", anyone?). Two weeks later he's in work, allegedly temporary but (according to the boss/owner) likely to be full time when they can swing it. He's programming, of course. They employed him because he had math skills, then discovered in very short order he could program......
Recent university grads have always been ignorant. This is nothing new. It was like that 15 years ago when I started in IT and it's like that now.
What's changed? The employers. Companies want to hire people who can "hit the ground running" (corporate BS for "we have no training program and no one willing to mentor"). So, sink or swim. Also, what use to be 2 or 3 jobs several years ago is now a single position. We've all seen those positions advertised where you need to be a programmer, network admin, DBA, and a graphic artist all rolled into one. So, no one is ever qualified. Then there's the arrogance where companies assume that universities should be teaching the very specific set of skills that their company just so happens to use.
University grads have not changed. Companies have and it's not for the better.
If you want to become good at computers, to really understand how they work, you don't do a degree in computer science, you do a degree in electronics which has a high degree of computer content. There used to be such a degree course at UMIST, a 4 year degree referred to as MSEng - Microelectronic Systems Engineering, which combined courses in electronics,digital system design from the school of electrical engineering and computer courses from the school of computer science.
I don't know if Manchester University still runs the course, but when it did run, I don't honestly think there could have been a better computer course anywhere in the country.
And, no I didn't study it, unfortunately.
I did something similar to this 25 years ago at London University (in a little-known college that no longer exists) and it was marvellous. The course was incredibly practical. I wrote a multi-tasking operating system. An assembler. A compiler that output intermediate code that the assembler could assemble. And I learned C, PL1, Fortran and COBOL (yuck!). I also learned basic analogue and digital electronics. And after 3 years I could build a complete (embedded) computer from components with a wire-wrap gun, and then write an (admittedly crude) OS to control it. I ended up with a joint honours degree in both electronics and computer science, and have moved from job to job with no difficulty since.
That course involved a good 15-20 hours of lectures a week, plus all our course work on top. Many of us were also involved in operating the university computers, helping out in practicals, etc too. But then I was probably among the last of the lucky ones to get a grant; I don't think many of todays students could afford to get that intensity of education any more.
And perhaps there lies some of the problem.
Part of the problem is that employers make arbitrary hiring decisions.
Someone may be perfectly willing and able to do the job, but still not have a chance at being hired because the employer has others who claim to have more years of experience, or may have lied. Some geographic markets today in the US have pretty dismal opportunities since markets are so skewed in favor of employers.
If my group boss gets more than 3 applications for a job - the even numbered ones in the pile go stright to the bin, and he reads the first page of the odd numbered ones. Of those he will guess the best two based on their hobbies and get someone else to interview them! He also appointed my immediate manager on the basis that he was told to get rid of him as he was a cr*p engineer.
As a Software Engineer that has just finished his masters in Software Engineering after doing a BSc in Software Development I can attest to the fact that there are large chunks of subject matter that are either missed or are done very briefly. This means that for good developers to be produced extra curricular learning is needed. If I were running a business at the moment that required software developers I wouldn't take anyone that didn't have a first class degree or a masters with distinction because the people with 2:1's generally haven't got a first because they haven't put the extra effort in which means that they most certainly won't have done extra learning as well. I also wouldn't take anyone without doing a programming test to solve a problem (i.e. send them away for a day and see if they can solve a problem you have presented to them), I also think that as an employer I would want to see evidence of work done at university to evaluate it's level.
This being said though there are a number of graduates like myself that have put the time and effort into educating themselves and we are able to perform at a very high level very quickly and are able to out programme engineers with 20+ years of experience so don't paint all graduates with the same brush.(Just don't hire anyone with lower than a 2:1 and test everyone).
"Just don't hire anyone with lower than a 2:1 and test everyone"
Well you would say that, wouldn't you. Problem is a lot of very clever people with 1sts have poor social skills and aren't sufficiently rounded to fit into teams. And a hell of a lot of very very clever people were a bit lazy at University before they finally grew up, spent too much time playing sport or drinking, and limped out with a 2:2 because by the time they realised they could do with getting a 2:1, it was too late.
And yes, I was one of those with a 2:2. But by the time I graduated, I had amassed 12 months experience through working in my school holidays and University vacations, doing 1st line support, 2nd line support, 3rd line support, Windows development, Web development, and Unix development. So I knew a bit more about work and office politics than your average CS graduate, including the ability to see things from the perspective of support as well as development, and knowing about the nuances of the particular Operating Systems rather than just knowing how to cut code.
As a result, I'm now the Software Development Manager for a Financial Services company, only 6 years after graduation - on merit. And no, I wouldn't give you a job, because if you think 2:1 or 1st = puts extra effort in on extra-curricular learning, then you're a retard. 2:1 or 1st means "can effectively jump through the hoops the examiner puts in your way", it has no bearing on additional learning outside the syllabus. The two developers I've hired with 2:2s have both been head and shoulders above the developer with a 1st that I had to fire at the end of her probation period because she was useless. Now stop spouting tripe, and go have a look at this website, it might help you get your sorry arse off the dole: http://www.mcdcareers.co.uk/flash.htm
" I wouldn't take anyone that didn't have a first class degree or a masters with distinction because the people with 2:1's generally haven't got a first because they haven't put the extra effort"
After 20 years attending and chairing exam bopards, I could not disagree more. Would you turn down a Cambridge 2:1 on that basis?
The difference between a 2:1 and a first may be one mark, in one unit of coursework assessment that may not be relevant.
Many moons ago, as a grad (with a 2.1), I went for an interview at Unnamed Large Corporation. Everything went pretty well and I was rather hopeful of an offer.
I got rejected. I asked if they could let me know why I hadn't made it, as it would help me in my future job search.
The answer I got amazed me. 'Well, we prefer to hire people with 2.2's, as it shows us they 'lived a bit' at college, and didn't just sit there studying. We like our people to be well-rounded.'
I told him that yes, I had indeed lived a lot at college, that's why I had got a 2.1 - I should have got a first. He was unmoved.
Many moons later, I'm kind of not surprised that things haven't changed. In fact, the mediocre grad he hired back then is probably now a mediocre manager, just like him - and looking to hire another mediocre grad who isn't going to show him up by being better than him.
How 'bout the physiotherapy grad who could only find work as a care worker?
I mean, had she not studied hard at school or in her graduated area of expertise and just squandered time on nothingness then she still would have found work as a careworker.
Strange ol' world, innit?
K, I was the "pahh" initial responder.
Firstly I dont think you guys (graduates) made it clear about what you meant by training. As an employer, I have been asked by interviewees about what training we provide. To which as I responded earlier is "none".
Research time for an individual is not training. Research time I give to everyone in my workforce and a bit extra to the graduates. This is NOT training.
@University Grads are NOT the Problem
"So, no one is ever qualified. Then there's the arrogance where companies assume that universities should be teaching the very specific set of skills that their company just so happens to use."
Correct, welcome to the real world. If you want to go to university to learn a topic for a joy of it thats good for you. But dont come bleeting to me because I wont give you a job because you offer no useful skills. And certainly dont tell me I AM ARROGANT BECAUSE YOU HAVE NO USEFUL SKILLS. Go back to the job center, get an attitude re-adjustment, self-teach yourself something useful and see if then someone will employ you.
Great attitude. You WILL find employment and very likely have a great career. A breath of fresh air.
@It's not hard to see
Again great attitude. If I can get someone that can program and have a 1st great. But frankly, the practical exam is the most useful.
@When I interview graduates
Well, sounds like you are more thorough than myself. I certainly get them to do a practical and like yourself I get them to choose their own language. The test is actually pitfully simple but I've had candidates at it for 2hours in the extreme and produce rubbish while on did it in 20mins with what can only be described as a reference solution. In fairness, I found that graduates so far have faired better than many so called veterans who are looking for work. But still it is suprising home many software engineers graduates cannot do any basic amount of coding in OO (in the language of their choice).
What most graduates fail to understand is the point of education is to lay a foundation on which to build.
If any recent graduate thinks a foundation alone is sufficient to land a high-paying job, let's pray that same graduate avoids the construction industry. A few nights on a roof-less, wall-less concrete slab should be enough to convince anyone at least to look around for some padding and a means of making a waterproof cover.
Labored analogy aside, I agree absolutely with those who look at a student's NON-required activities. Passion is as important as programming skill, and C++ without curiosity makes Jack Graduate a dull - and unemployable - boy indeed.
Those who complain they can't get the job without experience, but can't get experience without a job, are lazy, at least in my estimation. They want experience handed to them, but are unwilling to take an available opportunity to increase their knowledge and skills, simply because it doesn't pay, isn't interesting enough, is "beneath" them.
I worked in an IT department early on where one of the technicians refused to read the daily news/tech/info pages/patch/update alerts the rest of the group did. Work requires continuing education to stay ahead and afloat, plus we were being PAID to learn. An unofficial degree for free, in a sense, and a chance to become increasingly employable.
The technician simply didn't want to read all that "stuff". He made it clear he had enough to do already, and others should let him know if any of the news was relevant to his job.
In the end, one either continues to learn, by any means available, or one's career dies. His did.
Sure, additional advanced degrees make the foundation stronger, and can even give you a jump on the rest of the structure.
But sooner or later, graduates who have no interest in improving themselves tend to be un-improvable by any means. All too often, they are also are the ones who pad resumes or out-and-out lie in order to land a position.
Those who decide on a degree or a career based solely on salary averages, depressingly think money is the measure of what one does, the benchmark of success and happiness. Well, I certainly don't claim it's unimportant, and I truly despise companies that ask employees to do more and more for less and less (and don't even get me started on executive compensation)
That's not why you decide on a field of study, though. You do it because it interests you, perhaps more than anything else--a subject you would pursue whether or not anyone paid you to learn it.
If while still in college you never look beyond your classes; are unwilling to improve on your own, or try to gain experience, whether paid or not; at some point you seriously need to ask yourself: is this really what I want to do?
If not, don't expect wild success in your job interviews.
" Expecting someone to train themselves to be Cisco certified, or similar, before coming to you is ridiculous."
Why? That is exactly what I did. I saw my degree was no real practical use, wanted to do networking so took a shite job doing CAD on £6150 pa whilst studying for the CCNA and CCDA.
(1) It's not rocket svience.
(2) It is you (the graduate) that needs to convince *me* to hire *you* - not the other way round.
'Firstly I dont think you guys (graduates) made it clear about what you meant by training. As an employer, I have been asked by interviewees about what training we provide. To which as I responded earlier is "none".
Research time for an individual is not training. Research time I give to everyone in my workforce and a bit extra to the graduates. This is NOT training.'
You consider learning your company policy, your code repositories (plus the code contained therein), APIs, and network infrastructure research time? Didn't think so, that would be training. So rather than be all bent up on your clear misgivings of failing to achieve a degree and accept that many out there will in fact be better than you simply because they did.
Ok, perhaps those that were polytechnics are.
University education is for the individual, to teach them to think and to train them in the theory behind their chosen subject.
It isn't a course in visual basic or microsoft "networking". If employers want that they can jolly well pay for the training themselves. If students want that then they should find a btec or poly or whatever they are called now.
Bah humbug, I've thrown "Access for Dummies" in the bin and I'm off to the library to find a book on relational algebra and Cod's law.
... is generic to all current new college graduates. They've been told since they were toddlers they could do anything they want to. One result of that teaching philosophy is new college graduates believe they should start at the top, or near the top. They have no concept of "paying your dues" or as we once of the military learned ... "time in rate".
Unless you're learning surgery, or some other ultrasophisticated skill such as surgery, a college degree is little more than a right of passage. Problem is the current herd of college graduates actually believe a degree gives them the skills they need to do the job they might get hired for. Once they face the "learning curve" of specific job skills they need in their new position they instantly feel cheated or lied to ... or both.
Unfortunately, terms such as "degree", "engineer", "scientist", and even "professor" are only loosely defined in content, emphasis, and level.. Courses at some universities recruit on the basis of BTEC, or a single unspecified A level. Such courses avoid abstract concepts in delivery Other universities insist on AAB, or AAA.
Perhaps a half decent CS graduate is less employable than a half good Media Studies graduate. Add to this, the lack of definition between CS and IT courses, and the joint honours courses in, say Computing and Forensic Science, and aggregated statistics become more opaque.
A university can validate almost any course, by the expedient of employing external members of the validation panel from a similarly strapped university. The professional accreditation status of courses is important because it provides an aiming point for the course design. When I was a student, virtually all engineering courses were accredited at the CEng level. Now we have 3 and 4 year CEng courses, 3 year IEng/BCS courses, and courses which haver not sought accreditation at all, often because accreditation limits the number of qualified applicants, and constrains the progression criteria. Typically, CS at a Russell Group university requires AAB in Maths and sciences, and these are prerequisite to first year teaching.
My son, taking CS at a real university, produced in his first year, three significant assessed assignments in JS, Java, and VC++ that would challenge the final year students that I teach in a post 1992 "university". Delivery was entirely by researchers, to whom any interest in teaching was secondary, which left much to the students, not least because the university teaches in semesters, and coursework is required to be completed before the suppering teaching.
Post 1992 institutions seldom require mathematics, courses tend to be far less abstract, with much more direct teaching, and a greater concentration on routine programming, usually in VC++.
I came to the conclusion that the best indicators for identifying potential programmers are the ability to work with abstract ideas, and the ability to write clear, concise descriptions in native language. I know of one company who asks candidates to write a specification of the water jug. Seems to work.
We crave good CS grads, and EE grads, but there seems to be a constant shortage. We work hard with local Unis (York, Manchester, Leeds) and just about keep our heads above water, but the suggestion that there are loads of unemployed CS grads around is decidedly bogus. Maybe the dregs will struggle to find work, but bright people who've worked hard, really won't.
We start grads on £24k, with rapid rises for the first few years, and a good benefits/options package. I'd really hate anyone to be put off doing a CS degree as a result of this article - wait for the real figures as I'm pretty sure they'll tell a different story.
Interesting reading a lot of the comments here. From my experience some of the brightest minds don't necessarily produce the best code. Most companies need simple effective solutions to problems that don't involve large spaghetti codebases. I find that programming diligence is just as important. Clearly defined classes, interfaces and methods that are well documented and have suites of unit tests are the important thing. At the level of the individual testable units, the code should be simple and understood by all who need to. It is also about recognising where code can be re-used effectively and making use of existing libraries so time is not spent on re-inventing the wheel.
We have a coder who is almost savant like, however, nobody can actually work with him due to personality, and he has to do everything alone.
As well as that, the code he produces, while clever and fancy, is also badly structured, uncommented and pretty much impossible for anyone else to follow or change... I'm pretty sure this is intentional.
Because of my degree background, Software Engineering, I lean towards, and try to enforce, designs based around simple, solid primitives. Most of the non computing degree developers i work with, struggle even with basic design concepts, they can just code, but struggle to do it in any structured manner.
Biting the hand that feeds IT © 1998–2019