The problems are:
1) Chicken & Egg: Employers want experienced staff.
2) They would rather employ lower paid workers who are based abroad.
Simon Hettrick is Deputy Director and Policy & Communications Leader of the Software Sustainability Institute, which is based at the universities of Edinburgh, Manchester, Oxford and Southampton. In the UK, there are more unemployed graduates in computer science than in any other discipline. In an attempt to understand the …
"1) Chicken & Egg: Employers want experienced staff."
But how many? The article seems to assume that the problem is caused by the wrong people studying Comp Sci, or the wrong education being given to them, with the result all the peachy IT jobs go to graduates from other disciplines, whilst leaving Comp Sci graduates unemployable in any other field.
An alternative reading is that there is simply vast over-supply of Comp Sci graduates relative to the vocational opportunities, meaning there's also more of them chasing non IT careers which I'd guess would lead to higher unemployment levels because the competition is greater.
Perhaps somebody could clarify what is the market? Specifically, how many IT-related graduate jobs are there each year, and how many Comp Sci graduates? How many of the IT related jobs go to non-Comp Sci grads?
What the industry wants is programmers, not Computer Scientists. I've been in the industry 30 years and don't think I've really done much Computer Science per se.
Good programmers will be drawn to programming no matter whether the cool kids at school think they are nerdy or not.
Good programmers will also be drawn to programming whether or not it is taught at school. Good programmers need to be resourceful and if they have to be spoon fed by teachers they will likely be crap programmers. Give me the kid who taught himself to write Visual Basic over the kid who only knows what was downloaded into him by formal education.
Joining this industry is a commitment to life-long learning. If you can't teach yourself, then give up now.
As for "1) Chicken & Egg: Employers want experienced staff.", that's not entirely true. Employers do indeed want experienced staff, but it is not a chicken and egg problem. Now, more than ever before, students have opportunities to flex their programming muscles before they graduate.
Internships abound. There are also thousands of open source projects where a student can get stuck in and learn something new and actually contribute. And prove themselves.
Give me a "B" graduate with an interesting bunch of projects on github over an "A+" graduate who only focused on their coursework.
Give me a "B" graduate with an interesting bunch of projects on github over an "A+" graduate who only focused on their coursework.
Pros and cons with this approach
The problem with any job is that there will be large amounts of time spent doing stuff you rather wouldn't have to do. An "A+" grad has already demonstrated the necessary discipline needed to maintain focus.
The "B" graduate would probably start posting bollocks on el reg as soon as he/she got bored with whatever it is they are supposed to be doing for you
The problem with software is that there's always someone somewhere else happy to do it for less.
It's the same reason we make very little of the shite we buy in the shops these days.
At least they can't outsource haircutting. My advice is to study hairdressing at Uni, like 30% of the undergraduate population!
"The problem with software is that there's always someone somewhere else happy to do it for less."
This is not only a problem with software. But this is where "marketing" comes in. Play to your advantages.
Yes, the standard customer will be point-haired galore: lazy, arrogant, thinks he knows all about IT, will insist on a "fixed price" before specification while not even knowing what he wants, thinks it's a thing that can be solved by tomorrow evening anyway and will absolutely complain that you bill him for time spent reading books (so put everything under "hardcore coding, 1450 lines/hour").
Convince the guy.
And if he really wants more crap for less dough .... hell, walk away, leaving your business card.
In the UK, there are more unemployed graduates in computer science than in any other discipline.
*****
Large numbers of unemployed graduates in a subject suggest that there are too many graduates for that subject. So a meeting is arranged to discuss how to get even more students to study the subject.
Does anyone else see a flaw in this plan?
> Does anyone else see a flaw in this plan?
My thought exactly. It seems backwards. It seems that either (a) they need to discourage school leavers from choosing this dead-end degree, or (b) they need to encourage businesses to recruit more of these unloved graduates. Or maybe (c) the article is messed up, and either the problem or the proposed solution is being mis-described.
From where I sit, it looks like the "smart startup" end of the computer business is short of good people. Even many of the "good" people are not actually good enough to drive a startup to success. Maybe small companies need to learn how to use "average" graduates better. Or maybe the really smart undergraduates are still being turned into bankers, or something.
The flaw is blindingly obvious to you, me and readers of El Reg. A more interesting, and probably important, question is why it isn’t also blindingly obvious to our “Minister of State for Universities and Skills “.
I wish I knew. But them that rules over us exist intellectually in a parallel universe. And when reality doesn’t match it, it’s reality that’s wrong. So, they’ve presided over the destruction of much of the UK’s industrial base. But they used to chant that it doesn’t matter, we can be “post-industrial, the Chinese can do the low value added stuff and Britain’s future lies in the cutting edge of pharma, telecoms (the likes of Huawei will not register on their consciousness) and IT. When it doesn’t happen, and UK IT graduates aren’t being sucked up into a UK Microsoft, Google, well – what to do ?
No - as has been discussed in El Reg and elsewhere, UK industry struggles to recruit suitably qualified computer scientists and software engineers.
Part of the problem is an unwillingness of businesses to recruit all these graduates. Maybe the businesses need to be willing to put more effort into training these graduates themselves in the more practical aspecs of the job. Or maybe the graduates are crap - either because they are the wrong sort of person for the job or because they were badly taught by their uni.
Also my thought - the main problem I have (I'm in the infrastructure field) is that most post-graduates don't arrive with any (useful) skills, often have little enthusiasm, and generally have an inflated self opinion. They may be great programmers but I need someone who wants to solve bizarre problems caused by terrible third party applications (no not office or cisco vpn). Though a manager of mine did recruit a junior grad that couldn't plug in a graphics card (she wanted to become IT management)
When forced to recruit juniors that must be post-graduate (which is madness, the best juniors are just out of college preferably having ignored all the IT subjects as they were a waste of time and built their own pc and played with alternative OSs) I just look at their interests and hobbies, if they don't claim to have built their own networks and built a demo lab on their desktop I'm not interested (bonus points for playing games, reading, roleplaying, sci-fi, fantasy, writing, non-hotmail/gmail email address, etc etc etc) As these things show a genuine interest and passion for all things geekery.
Agree, the whole article is based on an assumption that the poor employment outlook stems from a quality issue with CS graduates, but cites no evidence for that.
Could it have something to do with offshoring, outsourcing, immigration and intra-company transfers, which together allow employers to demand experienced staff for circa £10 per hour ?
The article's author is obviously a failed graduate, with little experience of analysis.
Fundamentally, he needs to re-analyse his source data and divide it into: Russell Group, 1994-Group, Post-92 former Polytechnics, Post-92 former colleges.
Now in which of these groups are the graduates that are not being employed fall?
Comp Sci degrees were sold to many kids looking for a well paid job.... The trouble was that a large percentage weren't actually interested in I.T. they were only interested in the potentially decent money instead.
I know plenty of people who left uni with comp sci degrees who still had no clue how to install Linux (before the advent of the live-cd). Those people were supposed to be computer literate, no wonder so many couldn't actually find a job in I.T. after their degrees.
What's the point in going to uni these days to 'learn' a language? If you've not published your first Android or IOS app before your 14 your basically toast.
By the time the youngsters are ready to go to uni if they've not made some bucks out of computer programming they might as well find another degree to do that will give them a decent chance to get a job in their 'chosen field'.
By age 10 I had introduced myself to various programming languages, which involved installing an IDE off a cover disk or suchlike, playing with and breaking a few example programs, then giving up on writing anything from scratch. It took me another decade to develop a rudimentary understanding of programming sufficient to write code.
But that's because programming is hard, and a lot of the decisions you have to make to get started are political not technical. I don't believe there are that many tweens who can sit down at a computer and start writing code. And how many of the ones that can had help from their parents?
"I know plenty of people who left uni with comp sci degrees who still had no clue how to install Linux"
And I know people who can install Linux but who've never heard of functional programming or shift registers. What's your point?
That's one of the real problems of computer science.
Very, very, few of the people who enter the world with a computer science degree end up doing computer science. They end up programming and doing software engineering.
Computer science is actually a really poor education for someone who is going to develop software. CS is an academic subject and the industry wants practical people.
Sure, FP is interesting as is how shift registers work and NP-completeness or whatever to anyone who cares. However these are completely irrelevant to people who develop software on a daily basis.
FP is interesting as is how shift registers work and NP-completeness or whatever to anyone who cares. However these are completely irrelevant to people who develop software on a daily basis.
This is the standard line among professional software developers. And it's why commercial software is loaded with race conditions, ghastly performance issues, and the sort of mind-numbingly stupid implementations that decorate the pages of thedailywtf.com.
A great many programmers have vague and wildly inaccurate mental models of the machine and the various abstractions layered upon it, and lack the critical and technical skills to improve them. And that is largely responsible for the generally abysmal quality of software.
Certainly many - perhaps most - computer scientists know very little about programming and software development. More than a few academics have pointed this out and urged the discipline address it; Stroustrop, for example, had a piece on the topic in CACM some issues back. But this Snowian1 "two cultures" mythology of a fundamental divide between CS and programming / software development is bullshit, and it only exacerbates the situation.
Also, it shouldn't be necessary - but apparently it is - to point out that a great many software projects require a whole fucking lot of CS to be done correctly. I wouldn't want to see a DBMS created without benefit of actual computer scientists. Or a JITing VM. Or a distributed analytics platform.
1Or Kiplingesque, if you prefer.
Yes, yes, a thousand times yes.
I am seeing a lot of graduates with computing degrees who apply for software developer roles, yet are hopeless at programming. Their experience of computer programming seems to be limited solely to the exercises in their tutors' reference material; typically noddy sales systems (airline booking). They've learned only what was required to pass the module. Ask them to do anything outside that exercise, and they have no idea. It's not merely that they have to look it up (looking stuff up is fine - we'll buy you all the books you can eat and you'll have a web browser on your desktop), it's that they have no realisation that the language they're supposedly skilled in can do anything other than the one or two exercises they've tried.
If a primary-age child was given a box of Lego but three years later was only ever building the exact same model as per the set's instructions, we would think there was something developmentally wrong with that child. Yet that is exactly what we're getting with computer science graduates and we give them degrees!
Worse, they can recite theory about object orientation and several different software development methodologies, yet can't actually write an object skeleton for any set of requirements other than the one or two exercises they're familiar with, and don't understand the concept of dependencies.
Coding tests are fairly hopeless. They'll pass the multiple-choice questions and still fail to grasp the concept that they can use those little nuggets of code to build a larger program that can solve a larger problem.
It's quite clear to me that the current output of comp sci graduates have been taught to pass modules and pass exams and nothing else.
What I expect from someone with a comp sci degree, is a person with a curiosity about what computers can do, who are interested in commanding computers, and are interested in learning as many ways as possible to make a computer perform a variety of tasks. Instead I get a lot of people who have no curiosity at all, whose only interest is to get a job (any job) and can make one or two computers do one or two things.
It's almost like they've been brought up in a world of single-purpose electronic gadgets, rather than the "my computer can do anything, I just have to find out how" attitude of the 8-bit generation. I actually think the Raspberry Pi push has a better than 50-50 chance of solving this problem, but we won't see those kinds of kids coming out of uni for ten years yet.
It's all well and good being a cs grad but employers want domain knowledge and, when you look at the higher paid sectors like finance (which likely attracted the greater numbers), that means maths and physics grads. I'm an example. Studied maths at uni and last did cs at a-level (pointless). Programming can be learnt quickly if you have the aptitude.
"I am seeing a lot of graduates with computing degrees who apply for software developer roles, yet are hopeless at programming"
This is exactly the point being made with schools and GCSEs a few years ago - what the students are being taught is not what industry needs. There may be a need for educating recruiters to better understand how to spot talent rather than advertising for one language skill and nothing else, but for the most part it's to educate the education system. Schools have for years been teaching computing as how to use MS Office, but universities are just as guilty of teaching computing as an offshoot of theoretical mathematics.
Personally I don't see the sense in keeping on churning out 'computer scientists' when what we really need are graduates from BEng and MEng courses in Software Engineering. Taught through engineering principles to solve problems. Not pages and pages of theory. As I've said before here, no-one in industry is going to ask you to prove a language is Turing complete. They're going to ask you to deliver a robust processing system using the tools you're given.
"...can't actually write an object skeleton for any set of requirements"
Blimey, if I were so lucky! To have a set of requirements, that is.
The only requirement is - get the code out!
Rome Total War 2, X Rebirth, et al, anyone?
Windows 8?
Why? Because sales people rule programmers.
Tell that to enthusiastic young coders!
Will a professional pride be nurtured too?
Goddamit. As a geek you can go Venetian on their ass. Poison their schedule, let them fall on their sword, garotte them with a line of a badly written declaration.
The possibilities are endless.
They are YOUR POTENTIAL VICTIMS.
Let's have fun.
If you've not published your first Android or IOS app before your [sic] 14 your [sic] basically toast.
"Hi, I'm Anonymous Coward, and I believe All the World's a VAX - sorry, a Smartphone."
When I'm looking to hire people, their having "published" a smartphone app counts for absolutely nothing. Having produced a significant piece of software that's robust and maintainable, and solved interesting problems along the way - sure, that's important. But that doesn't describe most apps, and it does describe a vast array of non-app software.
(I'd also give points to an applicant for knowing the difference between "your" and "you're".)
"not happy with the idea of being stuck coding in some basement"?
IMHO, the only skill which matters a damn is the ability to write code that does something useful, and does it well - whatever that might be. If an article asking "What is wrong with Britain's bricklayers?" was so distainful of the building of walls, then perhaps the question might be easier to answer.
"IMHO, the only skill which matters a damn is the ability to write code that does something useful"
I'd suggest analysis skills are also useful. Otherwise you've no idea if your 'useful code' is in any way related to the original requirement. I've met some very talented programmers who prefer to code for what they think the requirement should be, not what it is.
And project management. Deployment. Solutions architecture. Enterprise architecture. Test design and development. Documentation. UI design. Network design & build. PC support. Team management. Systems analysis & design...
Coding is just a a little part of the grand scheme of things.
And being able to sit on a conference call with your customers and explain clearly why you're designing the code the way you are, or why it will take X days to add a new feature, or why test Y failed and what you are going to do about it, etc.
IMHO, recruiting people that know their stuff technically AND can communicate it clearly with other human beings is quite difficult.
This post has been deleted by its author
Sigh! I guess the "code monkey" paradigm is still alive and well then. If the central craft and art (I believe Mr Knuth referred to it as such in his series of textbooks) of the software business is held in such low esteem, then I guess that we've answered the question. Programming, how quaint. You wonder how anyone ever managed make a living and/or get a sense of satisfaction out of the simple expedient of sitting on one's arse and figuring out a way of making a computer do something other than just consume electricity and then actually making it happen. Perhaps if we'd all spent the last 30-odd years or so doing things properly before we let the vulgar code monkeys loose, we might be on course to create a multi trillion dollar industry. Oh, wait...
Personally, I don't think you need a degree in CompSci to cut code any more than you need a degree in Architecture to lay bricks.
A CompSci graduate should _understand_ the concepts of programming [I hate the term 'coding' since it implies that the product is something quite arcane and probably unmaintainable] but understanding business-requirement definition, budgeting, systems-analysis, project- and system-lifecycle management as well as software QA are far more important skills for a graduate to have than a detailed understanding of HDLC bit-stuffing or how to wire up CTS/RTS lines on a RS232 serial-port.
The CompSci graduate specifies what is to be programmed, how he intends to test the programs, and then makes sure the results are delivered on-time/within-budget/to-quality.
The actual programming gets done by the equivalent of a team of brickies with appropriate NVQs.
I'm sorry, but good grief, your idea of computer science sounds terrifyingly like the typical gormless middle manager who's convinced he doesn't need to understand the technical details because he's got a firm hand on the budget.
To be honest, the thing that would most invigorate the entire industry is returning the focus to getting actual value from the work we're doing. Creating something. A real result rather than the hyped up nonsense of improved social media penetration and merry-go-round startups who's only existence seems to be to insert themselves in the middle of a perfectly functional value chain to no good end.
We can create and transform industries with the work we do. We can discover new science and help people live longer, healthier lives. We can deliver outstanding entertainment and we can improve every one of the human senses. We can teach. We can save lives and predict deaths. We can create delightful experiences. We can aid discovery and remember for you. Yet all of these things get lost in the mire of big data projects with no discernible outcome or over-hyped startups with paper-thin business models that boil down to selling more adverts. If you ask people today what computers do for them, they'll tell you Google and Amazon - not for the feats of engineering that uphold those companies, but for the experience of being sold stuff at every point of interaction with a machine. If you want people to be excited about computers, we need to start being excited ourselves, and to throw off the hype around businesses who's only value is coincidental to the actual technology and function being created.
Doctors and lawyers get a good rap because people can see what they do. Make people well, prosecute the guilty, protect the innocent. Computer scientists have lost their identity to telephone sanitisers and snake oil salesmen. Real outcomes excite people, not vague nonsense.
The same applies to kids. They want to see outcomes. In our day, getting an LED flashing was still relatively novel - and a sufficiently big step that moving on to a fully working robot seemed only another small step away. The excitement and imagined possibilities drew us in and we learnt around them. These days, getting a RasPi to light an LED or launch a website is utterly mundane and children are left asking where they can go next. The things that excite them (high quality games, Facebook et. al) seem just as far away as they were when they didn't know how to get a linux partition to boot. The challenge to educators is to get children to a platform where they can achieve things that involve them before having to understand decades worth of technological advancement.
The CompSci graduate specifies what is to be programmed, how he intends to test the programs, and then makes sure the results are delivered on-time/within-budget/to-quality.
The actual programming gets done by the equivalent of a team of brickies with appropriate NVQs.
Not in the real world. Code written by "brickies" is invariably crap and requires real engineers with CS degrees to unpick and debug. Better for it to be written by someone who knows what they are doing in the first place.
If there is such a thing as "grunt work" programming, you're doing it wrong - as Turing himself realized:
Instruction tables will have to be made up by mathematicians with computing experience and perhaps a certain puzzle-solving ability. There need be no real danger of it ever becoming a drudge, for any processes that are quite mechanical may be turned over to the machine itself.
Total myth. The best programmers I've ever worked with were physicists, mathematicians and, of all people, an economist. People with CS degrees rarely featured. If you're smart and have the aptitude you're there, you don't need to have backed yourself into an alleyway by doing a CS degree.
I'm a recent (2012) CompSci grad from a top 20 UK university and also have an MSc in a growing specialist field. It got me to three assessment centres and now a full time graduate job.
What's my secret? The MSc; that and the fact that I'm one of the very few UK CS grads with aspirations higher than Java-monkeying. I've said this ad nauseam, but UK CS degrees are totally broken and just pump out average programmers rather than "computer scientists". Unfortunately, said degrees are now moving towards pumping out average "security experts" so expect that field to become saturated and dumbed down as well.
The fact is that many British companies, on the whole, regard all their staff as an expense they'd rather do without. They are utterly crap at recruiting staff, and they are useless at training, rewarding and retaining them once they have them. That applies to graduates (all of them) and experienced staff too. It starts with the fact that HR has been cut to the bone so there is the bare minumum of people whose main jobs by necessity are making sure that they don't get sued too often and running the wfr process. The senior management are too busy gaming the system to keep their salaries in the seven figure range.
Agree. The sad fact is IT has never been respected. In eras where companies offered big rewards, those rewards were often in stock. In the golden years of stock splits, a lucky few made a killing. However, most went to start-ups that blew-up or corporates like Honeywell or CA instead of Microsoft / Google, or they joined too late! Someone posted a US distribution of wealth chart here recently, and that graph says it all....
Overall companies particularly corporates have never ever wanted to pay. Why? Who knows! But its probably due to a management perception that most techies and developers are like other staff, mediocre and therefore expendable. But the big difference between past and present is that they couldn't google you out the door as easily as they can now either.
That said, there are select smart business heads that recognise hard workers and talented pros and because they have pressing projects they're willing to pay well. If you're lucky to find those projects or start your own consultancy at the right time, it can make all the difference. For others lucrative Expat gigs in HK, Dubai or Singapore, or a stint in HFTs in or banking derivatives software, will help pay down the mortgage or even offer early retirement. Meantime all the other years are basically grunt work, like most jobs!
Is that they are not producing computer scientists.
Right off the bat I must admit I do not know the specific state of Britisch Comp Sci curriculae. I DO however know something about technical degres this side of the pond.
And the truth is we are not producing scientists. What we ARE producing is circus monkeys. Graduates are tought specific skills tailored to specific markets. They are tought Java, XML, some C++ perhaps, or even SQL, and some general approaches to coding a solution.
They are however not ought to FIND a solution. They are not given a thorough mathematical and statisctical foundation that teaches them how to solve problems.
Turing was a maths graduate. Lovelace was taught maths by, amongst others, de Morgan. Hopper has both maths and physics degrees.
The graduates we are producing are equivalent to people mounting wheels in a Toyota factory. They'll do wheels in the Volvo factory no problem, but ask them to set valve timing and they're in trouble. OK, it's a silly hyperbole, but you get the point.
Knowing how to write an app does not a computer scientist make.
The flip side is that we never produced very many Turings. Neither did the UK.
Circus monkeys is very apt.
And you're right. The most successful and technically astute people I know of in the IT industry don't have degrees in anything related to computing. Mathematicians, physicists, electrical engineering, the odd psychologist... the CS grads are the ones which show the least flair, passion and ability.
@Electric Panda - you've nailed it. If your imagination was so limited that you could only conceive of becoming a programmer by getting a CS degree, then your imagination is too limited for you to also ever be a decent problem solver coder.
As a CS graduate, I guess I have to set your little a$$ on fire:
I am working all day on C++ and C# code written by physics and eletrical engineering muppeteers. They have absolutely no concept of "precise terminology and wording" and like to use the same data structure in an almost anonymous way. Saves the compiler to parse new struct{} directives, and that's apparently a major objective of people studying physics and electrical engineering.
And sure as hell their best friend is the void* motherfucker. This world would be too easy if the compiler could help the "brogrammer". Beware of these strongly typed attitudes of Software Engineers. Their strength could split the beer atoms the electrical engineers cherish.
And of course physics guys are too lazy to learn quicksort. Let's use bubblesort and help out those other physicists running that nuclear power station.
When we are at it, use the Macro$uck Hashtables, which some physicists at Redmond have grown next to their weed. The weed has killed physico's brains, so the Hashtables don't automatically grow as those boring computer scientists have managed since 1971.
Now that the electrical engineer has inhibited the semiconductors, let's destroy harddisk performance by letting the physico unpack gigabytes onto disk. Too much information density is bad, according to physico theory 2013-#987348374 (I am really jealous about them, as my field is rather fixed).
And when physico is at it, lets declare "Hash function output is unique". Well, almost unique. If you don't throw too many hash numbers into one file. Sometimes you really need to declare five as an even number. When you are a physico without a proper Computer Science Education.
Now, get off my lawn and build some more windmills.
Do people still need to write their own sort routines?
Rarely. It does still come up sometimes - when you need to sort a small array in an inner loop in performance-critical code (a problem that does come up in certain domains), then calling a library function would be foolish.
The correct question, though, is "Do people still write their own sort routines, even when they don't have to?". And the answer to that is "yes". The world is full of reinvented wheels. And the sort of programmer the OP was talking about is the usual culprit.
@AC, I have to disagree somewhat..
My own opinion on this is that CS practitioners solve what they think is the problem, Engineers really solve the problem at hand in the simplest possible way. Okay, it's not "proper" CS, but does the fucking job...
This I believe explains the difference in cost between Government IT projects (infested with CS practitioners) and projects like CERN (infested with Engineers...) One is pretty successful, the other delivers lots of hot air...
Its not as simple as mere outsourcing though.
Even if the job is retained on shore, the UK admits a small army of foreign programmers who force down wages and/or compete with new graduates. Actually these days they compete with the experienced too - my team has 3 brits, 2 'merkins, a kiwi, 3 indians, 2 chinese, an african, and a couple of cheese eating surrender monkeys.
Unfortunately, its impossible to have any kind of sensible debate on the issue because the left shout "Racist!" at you until you give up, and the bean counters & management types all insist they can't possibly run the business without ever cheaper IT staff - a concept based on simple envy & resentment that IT budgets are so often larger than their own.
The idea of paying for talent seems to stop dead before a compiler ever gets loaded.
The linked article "What's wrong with computer scientists" nails it.
> Computer scientists are far more likely than other graduates to study at post-92 universities (64.4% of computer scientists study at post-92, whereas only 13% study in the Russell Group).
New universities attract students with lower A-level grades. Many employers skip the university section of the CV, because it's so hard to compare: is a 2:2 from Durham worth less than a 2:1 from Bucks New University? Instead they look directly at the A-level grades which are likely to be familiar ("I did Maths at A-level yonks ago, so I know what's involved").
Since more CS students go to former polytechs, we can infer that they have lower A-level grades. That would partly account for their lack of success in the job market.
I totally agree about your comments about 'New' Universities/Polytechnics.I think that giving them the option of becoming Universities was the worst thing that could possibly have happened to the Polytechnic sector.
I agree that most Poly's had a big chip on their collective shoulders, but I worked in Newcastle Polytechnic for 6 years, and I met people there who knew what the Poly's were for, and understood how to represent them. But I remember at the time how surprised the ministers were that all the Polytechnics decided to convert when given the chance.
Older established Universities are academic. They turn out people with a largely theoretical slant on most science and technology subjects. Poly's were set up to be practical skills based. They could take students and equip them to take on high-skill practical work. You could see them as a alternative to business led apprenticeships, leading to BTEC HNC and HND qualifications. Both of these were valuable but different facets of the education system in the UK.
Generally, academically orientated students with the highest 'A' level results (in the days when 'A' levels could be used to differentiate between students) gravitated to Universities, those with adequate results could go to Poly, and still get highly useful qualifications, just not necessarily degrees.
But there was also a difference in teaching methodologies.
'Old' Universities were more likely to drop the student in at the deep end with comparatively little support, and if they sank, threw them out. Those who swam (who were self-motivated and with sufficient discipline to actually get the work handed in and pass the exams despite the distractions), when they graduated, an employer knew that they could resist the temptations of student life, and still get the job done.
Polytechnics, on the other hand, used to offer better support to the students. The staff-to-student ratio was higher, and there was more emphasis on making sure that the students were coping (at least this is was what I saw at Newcastle). This meant that Poly's were a better bet for kids who were still in the 'school' mindset.
In the Computer Studies area, Newcastle Poly. offered HMC and HND courses in Computer Studies, but not a degree, which was catered for by Newcastle University. The one computing degree course offered by the Poly was a business orientated degree, specialising in COBOL as the programming language (we're talking 1980's here), with business oriented methodologies, system analysis and case studies, together with crossover courses from Business Studies so that the students would have an understanding of Data Processing and where it fitted in to a business.
The HNC and HND CS courses turned out people who's skills meant they knew enough about computer systems so they could program effectively, but had a less deep understanding of the fundamentals of a computer than their University contemporaries.
With the generally useless 2-year 'foundation' degrees replacing many of the BTEC qualifications, I really don't know what the split is now, and I think that employers have similar lack of understanding.
The biggest problem is that programming is not just a technical or mathematical thing. Its a creative subject, you are by definition creating something. Lots of people can learn to programme, but to be a good programmer you have to be creative too, otherwise you will only be able to work from a brief someone else has given you and you'll probably write technically proficient solution that miss the point when it comes to human expectations.
Lots of people learn to programme, not as many come to the party with a creative side as well and that's what companies want, they want people who can create, not execute.
Companies need a good balance of both. Without creative individuals, you don't get sudden jumps in progress, you may get steady evolution, but nothing remarkable.
Conversely, if you had a bunch of creative folks, you won't have anyone interested in just getting things done, as everyone would want to create shit...
So, most progress is made when there is a good mix of both types of folks or if you are really lucky individuals who are creative and don't mind just getting shit done.
The article seems to assume there is a problem with computer science graduates. Not from what I've seen. The undergraduates I've dealt with (summer placements) have had no issues taking on board complex ideas. Nor do they generally have problems with communication.
I think the real problem is with the employers themselves, who assume a computer science graduate is good for nothing but code bashing. No similar assumption is made of a mathematics or history graduate. This suggests to me that not enough is being done to sell the more general qualities of a computer science degree, to the employment market.
>>Now we need teachers who are both knowledgeable and - most importantly - passionate about computer science. Computer science is all too often taught by people whose first degree, and general interest, lies in another domain. We must attract talented computer scientists into teaching so that they can pass on their excitement about the subject to the next generation.<<
How will this happen? People who are knowledgeable and passionate about computer science will go and get a job actually doing computer science. They won't want a job paying them half what they could get whilst doing some actual, interesting stuff. And they certainly won't be happy teaching FOR loops to disinterested kids who'd rather be Snapchatting.
The only people you will get teaching CS is those who aspire to be teachers, not those who aspire to be programmers.
So, the same problem that (e.g.) physics and maths have, with few real specialist teachers.
So, what do they do? Run specialist BSc-with-teacher-training degrees, pay enhancements for specialist teachers, and the professional both (the IoP in physics) pushing harder in outreach. Are there comparable programmes in the CS academic/industry world? How much of a CS component is there in all the STEM-outreach activity at the moment?
Oh, yeah: scientists (e.g. myself) are told rather often about how they should get out more, interact with the public, describe their work and/or research, and so on and I do). But what are /you/ lot doing for CS/related along the same lines? Hmm?
I eagerly await news of the TheRegister sponsored CS outreach chapter in my own local area :-)
Right at the top of the article it says:
"In the UK, there are more unemployed graduates in computer science than in any other discipline."
So either CS graduates are choosing unemployment over becoming teachers -- or --
schools are assuming CS graduates won't be interested in teaching because teaching doesn't pay enough.
Some of the best instructors I had in college were industry retirees. They'd put in a couple decades in companies and had decided to finish up their career helping the next generation. One of the best parts, is that they have first-hand knowledge of all the things that graduates will have to deal with on the job and can pass that on. Oddly enough, I never hear about any universities trying to recruit such people to fill their teaching staff.
I think the difference between a computer science degree and technical training needs to be recognised. When I did my degree I learned the science of computers- we didn't learn how to install and use Linux or Windows, but we did learn the fundamentals of operating systems. We were taught programming but not as a means to get a job, but as a way of explaining computational efficiency. We were told how routers work, but not how to work a router. Etc.
If I'd have learned the OS of the day, or the programming language of the week, then my degree would be meaningless now. As it stands, my degree is a foundation that I built a career on.
If kids want to get into IT and don't want to put in the years, getting Microsoft/ Cisco/ whoever certified will be quicker and cheaper than getting a degree.
I would add that the difference between Computer Science the degree and programming in IT is that it is less about creating algorithms or producing the most efficient processing and more about dealing with uncertainty, communicating with your stakeholders and time and pressure management.
I would guess 20% of my time is spent actually programming. Of that most of that is probably dealing with legacy code, investigating possible issues or just re-factoring. Very little is actually new code.
Maybe the problem is that degrees rarely reflect the reality of the industry so the graduates are trained in the wrong skill set.
Pity the UK gov couldn't have woe'd these companies to set up shop, but I guess the pesky 12.5% corporation tax in old Eire was too tempting, along with the fine weather.
This list is taken from Wikipedia and edited down, are some of the companies that have had many years / decades with a presence in little old Ireland. Not a bad sample and based on a population of 4/5 million, the odds are favourable too.
So come UK , get some really big names in, oh yeah send then to the North of England, the south's full. :-)
Electronics and technology
Amazon.com , Located in Dublin
Apple Inc. - EMEA Headquarters, , Cork City
Dropbox - to open EMEA Headquarters in Dublin in 2013
eBay - EMEA Headquarters, Blanchardstown, Dublin 15
EMC Ireland - Subsidiary of EMC Corporation
Facebook - EMEA Headquarters, Barrow Street, Dublin 4
Google Ireland - EMEA Headquarters, Barrow Street, Dublin 4
Hewlett-Packard - Liffey Park Technology Campus (LPTC), Leixlip, Kildare
IBM - (Quoted on NYSE www.ibm.com/ie)
Intel Ireland - Leixlip, Dublin - largest manufacturing plant outside of the United States
LinkedIn - EMEA Headquarters, Wilton Place, Dublin
Logitech - R&D, S&M, Finance, Cork
Microsoft Ireland - (Subsidiary of Microsoft, quoted on NASDAQ)
Oracle - Oracle EMEA Limited based at East Point Business Park Fairview Dublin 3
PayPal - EMEA Headquarters, Blanchardstown, Dublin
Salesforce.com - SFDC Ireland Ltd.
SAP AG - SAP SSC Ireland Ltd.
Symantec Ireland
Twitter - EU Headquarters, Dublin
Xilinx FPGA and EDA Tool Company
Good point but you need to be careful with that list. Many of those are small "Emea HQ's" for tax purposes.
For instance afaik the Oracle site in Ireland is smaller that the one in Reading Berks. A quick glance suggests many of them also have UK offices. Oracle, Microsoft, Amazon are all big employers in the Thames Valley, as are Intel are in Swindon and Winnersh. Symantec at Oxford.
And those are just the ones I have driven past.
The sad truth is these companies primarily exist to funnel money... The quality of the jobs themselves is sub-par versus equivalent roles in the US etc... Take a look at job offers from M$ to Blizzard and you'll see what I mean. Basically these are grunt support roles, whereas the sexy development stuff is done elsewhere... So now, do you still want these jobs in the UK? BTW: Eire as a label for Ireland was deprecated long ago...
No offense but my predjudices around a Phd would suggest you are far too academically inclined to deal with the insane vagaries of UK.plc. I'd respect you but I wouldnt employ you.
Now if you were in Germany you would be laughing - most of my colleagues over there are Phd's.
Double standards - probably - but unfortunately true.
Luckily the chances of my doing any interviews in my current job are slim to none, and in the past its been 90% offshore workers.
yes, I would agree age bias is widespread. But that I think that is a more prevalent UK problem. Someone earlier mentioned managers feeling threatened be younger grads? Make that threatened in general...!
Here in the US I have seen a much greater acceptance for "can you do the job?" and I have learnt a lot from some senior techs. Some with PhD's, some without a BSc, but generally extremely competent and generally very fleixible. It may not be all roses (and my experience is a lab...), but the USA has a far more practical mentality towards graduate education. Granted, it also has a shed loads of foreigners (including me!). Grads here can intern in real labs and get paid... If you are STEM there are many opportunites. There is fierce competition but these kids get involved from high school and up.
I'm a scientist and I am pretty confident there is nothing I couldn't code if I had to. Ok wouldn't be the best solution, but then my key skill set is application based - molecular biophysics/computational biology etc... I have still learnt to code HTML5/JS as it is a tool.
And there in is the rub. Someone who was building computers , writing games, hacking DVD drives (!) when they were at school, are a fundamentally different sort of person to the "management consultant" IT people that get paid a mint. Which is why the Govt IT is such a failure. Big companies want to deal with nice corporate stuctures. IT is a profession where you CAN be a lone agent and make a difference.
I have mentioned before in these forums that software quality is extermely hard to measure and so the metric for most comanies hiring is "cheap as possible" and when selling their cheap ware "charge as much as possible" . If you are building cars perhaps you will not last long, but selling crap software seems to be a feedback free loop. Witness the currnent healtcare.gov and then look at the "health sherpa" site, that was knocked up in a weekend by some grad students.
With as unbelievable as computing technology is (and is still growing!! SC 13 was cool! ) it is amazing the race to the bottom the IT industry seems to be intent on.
P.
As a recent Computer Science graduate (2011), I agree with a lot of what's being said, and thought I'd chuck my own two pence in. The problem with Britain's Computer Scientists is that they're being told the wrong things and therefore have the wrong information to make well considered opinions.
First is the issue with salary, from what I have seen, the pay for IT work ranges from poor to a decent amount above average (£40k ish). If you want the big money that Computer Science promises though, you have to look at Financial Services IT which means you'll likely be based in London with the associated costs of living.
Secondly, and it shouldn't need saying, but it does, a computer scientist shouldn't be fixing computers, that's the job of an IT technician on £22k per year. Also, as others have mentioned, if you want to do coding, then you're going to be competing with south-east Asia, so get used to it. The trick here in my opinion is that you need to be doing something specialised enough that having your skills on-site is a benefit to an employer, or you need to take the downsides and go work for the smaller companies that aren't ready to outsource their work.
Thirdly, when I was at university, they made a point not to teach to a technology. Sure, we did some PHP and some MySQL, but we also did some Java, C, C++ and K (Which is a very interesting language as an aside) The result of this is that my university didn't just pump out programmers, but rather well rounded computer scientists who also understood things like project management and people management, which brings me to my conclusion:
If you want to sell Computer Science, don't talk about coding, talk about producing future leaders of the IT industry. People who know how to run IT projects, but who also understand when the people doing the actual techy work are talking BS and can call them out on it.
Agree. I'd like to take this further though, and argue the case that all problems begin at school. We teach all the wrong things, and what we do teach, we teach badly. Instead of being taught to name 3 types of rocks or all the names of the clouds etc, we could offer subjects that are much more practical and relevant. I wish kids could choose one subject only, but learn it to a high degree. Because its been proven, if you can learn one thing well, its easier to learn a lot of other things well.
Instead we teach many subjects, but to a mediocre jack-of-all-trades standard. In addition, the subjects we teach are wrong. We have the internet now, so we have other ways to learn. So we need to start leveraging this at school! I'd be happy to see kids learning unconventional subjects as long they were really learning them i.e.
1 Mandarin & Spanish & English integrated learning....
2 Video Games Design...... Logic & Control systems...
3 Surviving Personal Finance..... International Finance / Derivatives.... Macroeconomics
4 Plumbing... Plastering... Basic Home Maintenance...
5 Skills for Backpacking around the Globe....
Instead we leave it too late to teach these things in an ever increasing globalized world, where there is no escape now from competing with billions of other kids, If I ever have any sprogs, I won't send them to school to learn anything other than basic Math, English, and social skills... Instead I'll try and encourage them to find a hobby that can also can become their work. And if that isn't possible, then I'll try and get them to learn one subject to a very high level.... So that hopefully they can mirror that in other disciplines...
It is true that a CS degree turns out a much more adaptable employee than a technical degree does. A degree teaches how to learn and how to figure stuff out, not how to take a course or do a particular one or two languages.
Going from BAL to COBOL to PL/I to Focus to Java is doable for a typical CS graduate from the 1970s or 80s, I did it and so did many others. But for most technical college graduates it was too much.
But that is the rub, companies hire people to do the language the current project is in and to support the legacy applications. They don't hire programmers for future adaptability to new languages.
When companies think about adaptability they think about the ability to get along in changing organizational structures, ability to get along with bosses, users and co-workers and tolerance for constantly changing specs.
But the future leaders of the IT industry will be, as they are now, former sales people, former venture capitalists, and former lawyers.
I think you miss point, in the real world there is little need for computer scientists, in my whole 34 years I have meet a handful of true computer scientists and only employed two (my wife and another), when recruiting or being recruited personality & business knowledge with a passion for industry sector are the key factors.
On role models what about Natalya Simonova in film or Eric Schmidt in business.
So I would recommend reducing the number pure computer science courses and ensure good computer science eduction is provided as part of the other degree course like art/design/medicine/science/engineering/etc... courses should include modules on software development , development methodologies (like agile), product production management and quality assurance. As these people then go out into industry they will have an appreciation of the issues and this will raise the standards.
I would also include computer science modules as part of politics degrees our politicians often run massive IT projects that fail a little understand of what they are doing would help.
I hope this makes sense, sorry for the English recovering from heavy night.
... I found the secret was to actually take initiative. For example, before I went to uni, I took up volunteer jobs managing IT for charities in my area. I worked for free, they got free IT management. If I messed up they were far more tolerant than most business, additionally as I didn't cost them anything to begin with and usually the altenative for them was just to muddle along without help anyway.
Once I honed my skills enough, I formed my own company, and applied for contract jobs at small firms (using my charity work as a reference on my CV), essentially coming in if there is a problem, in addition to one/two times a week to keep their systems ticking over. I worked like this for 4 years, and it paid for my University (being from a low-income background, my parents could not afford to send me to uni).
Before I graduated, the business shut down (I had disagreements with my business partner), so when I graduated, I went looking for a full time salaried job, which I had no trouble finding.
Essentially, I graduated while having 5 years experience in the industry, and when I applied for a job, this put me above others, far more than what final mark I got at uni (it really wasn't an impressive one).
Turns out, that companies liked the fact that I did contract work, ran a company, and generally seeked out work. From their point in view it meant that I had shown the ability to manage resources, network, interact with others, and get a job done well enough to have repeat business, which was worth more to them than the degree itself. Since then, I've had no shortage of job offers, and enough work to keep me busy for a very long time.
As such that is what I recommend to people nowadays. Don't sit around waiting for work to arrive to you, but seek out work and build experience. A lot of (under)graduates hate the idea of working for free, but if you can find a charity that you want to help, it would be a good way of getting experience. Ditto on starting a company, even as a sole trader, it will teach you about client relationships, resource/time management, planning and execution, all things a potential employer would like to see, and an excellent way of standing out of the crowd of all your graduate peers (and if you do a stellar job, and your company takes off, you won't actually have to worry about finding a job at all :-) )
I left university with a degree in Environmental Sciences and Beer Drinking, so only one relevant qualification for being a computer programmer then.
In the late 70s companies would take on any science graduate and train them as programmers, analysts, operators and such. 35 years later I'm called a solutions architect, and I know too much and how much I still don't know. It beggars belief that computer science graduates can't get jobs because they don't know the right things. IT moves faster than education, so education should really teach you first principles in computing and higher education and industry focus that to their needs by training. My main problem with most of the graduates I see, are that they are one trick ponies, many of whom won't learn a new trick. I look for graduates that want to learn more, mainly because I know you can't ever stand still in IT.
Industry does not like to train people in new skills, because staff leave for better paid jobs, because Industry shoots itself in the foot by commoditising jobs, and continuously telling you that offshore is cheaper and that your job is going to the third world, so no long term career prospects either. I would also guess that many students think that you have to be very intelligent to work with computers, never met a BOFH, then.
I say this not knowing a lot about UK CompSci degrees, but the domain knowledge issue would seem to be the key problem
Comp Sci isn't about programming - it's maths and logic, not learning Java or C# or anything specific (yes, you'll learn specific languages along the way but that's not the point of the course, and the course should leave you capable of understanding the basic logic behind any language and jumping in, understanding why one language works one way, and another language deliberately works another). We don't actually need many computer scientists - or at least not as many as we need programmers, which is presumably why some "Comp Sci" departments have ended up drifting to more and more programming.
A friend at a Russell Group university doing Electronic Engineering did his dissertation on computer vision and analysis - something that one would imagine counted as Comp Sci, except he also had to design the hardware (although he admitted it was a software-heavy project for an EE student).
Similarly an Aerospace Engineering friend ended up assessing and improving the school's flight sim as their masters project. Half the team worked on hardware (motion table, projector acuity, instrument/control feedback etc), the other half on software. Another electronic engineering friend now writes control software for jet turbines, because they needed someone who can understand the metal, not just write code.
My boss started life doing Toxicology, and wrote a bit of software to do dosages for a suite of drugs (he now runs a niche coding house in a completely non-health related field).
The only computer scientist I knew ended up writing trading algorithms for a shady investment group. Which is actually what comp sci grads should be doing - the mathematical strategy and implementation, not just a code monkey.
Comp Sci should be about the maths - programming should be optional to other courses (which is what the idea of 3 years domain knowledge and 1 year computational applications is - 3 years doing something else and a 1 year Masters in Comp Sci loaded on top).
I myself an am example - an Environmental Science grad I was introduced to MATLAB and R, which led to a smattering of Python, just as part of my normal studies.
Realistically the way forward would seem to be to shrink the CompSci courses (where they're really just a programming course using toolsets from whichever vendor has sponsored the department) and refocus them on true CompSci, and then share the CompSci faculty across the university to improve the standard of the programming that is being taught one way or another in all the other departments (including humanities).
I'm guessing the bizness representatives at the chat-fest thought it was necessary to have domain knowledge. Suggesting an extra year at Uni to pick this up is madness - you'd never see the payback.
In my own case I jumped into IT with an MSc, did 5 years in various industries and then I've been contracting for the last 10 years. I do work for government bodies; the NHS; finance companies; power companies; all sorts. There are managers who think you need domain knowledge to do the job but they are usually the ones who don't quite understand software development and would certainly struggle to explain their domain to you.
When developing software it's about team work. Some have the domain knowledge and some have the programming chops and someone keeps it all ticking along with a time frame and a budget.
Next gab-fest, why not get some programmers along who are actually doing the jobs you're talking about?
....are the last people I would, sorry, DO, employ in computing jobs.
I'd take a physicist, mathematician, or philosopher over a computer scientist any day.
Why? Because it's all about understanding the Business Context. Systems do not live in isolated ivory towers; they have a function they have a business purpose, and judgements need to be made that extend outwith the realms of "pure" computer science.
Hard core techies are ten a penny. Hey, I *know*; I was one - but I did all that stuff in my own time (and mostly before I went to University). It was my degree in Physics that let me outpace the Computer Science people easily.
At the rather senior level at which I now work, I am surrounded by people from a huge range of backgrounds. To find a computer scientist, however, you need to look a *long* way down the food chain.
If you want to work in computers then don't study computer science. Unless you want to stay a grunt forever...
Op might be a troll, but he is definitely an idiot. He states that he didn't get a CS degree and only hires other people with non-CS degrees that can also do CS work. Then he acts all smug when pointing out that the only people with CS degrees at his business are low level grunts. But he completely failed to notice that if he refuses to hire CS grads, then they can't get positions at his business unless someone else hires them behind his back. So apparently one of the low level managers thinks that those CS grads provide a great value for the company, but op doesn't want to accept that there might be people who didn't choose his path in life that are just as capable as he is.
He never bothered to say why non-CS grads with an additional background in CS are so much better than CS-grads that have a background in a non-CS subject or CS-grads that have lots of depth to their CS knowledge.
tl;dr: Op likes to hire yes men; marvels at the consensus among his staff; thinks entire world should be modeled after him.
I spent nearly two years looking for graduates for well-paid positions writing OS software, and in the end I had to give up. The final nail was attending an university job fair in Manchester and seeing the queues around the "New Meejah" stalls combined with the abysmal skills of the people we talked to. Most of the graduates knew HTML and a bit of PHP or something similar and all seemed to believe they were going to join some webby startup and be millionaires within 12 months. The reason that the "IT" grads being churned out by the universities are unemployed is because mostly they are unemployable - it's firmly the fault of the universities.
I even tried doing my bit to improve things at the grass roots level by becoming a STEM Ambassador (http://www.stemnet.org.uk/ambassadors/) but disappointingly that was a waste of time as well - in the 3 years I was registered I had only one contact from a school who actually wanted me to talk about software engineering.
And of course the professional body that's supposed to represent the industry (the BCS) concentrates its nearly all of its efforts on "Middle Management" waffle. As a 50+ software engineer who is still paid to code, its focus is utterly divorced from *my* job.
Contrast that with the US (where most of my organisation are based), over there the universities are still producing good computing grads with strong engineering skills. I keep hearing people here whine about The Asian Menace but it's simply not true. The universities and the industry in the UK need to take a long hard look at themselves and admit they are failing.
Answer: Nothing.
As a society, we don't value engineers. Accountants, lawyers, managers, doctors, dentists, plumbers can all make far more money, which is grossly unfair given the amount of work, education, skill, and determination required to be a good software engineer.
One issue is the recruitment process. People with no experience are simply looked over, and candidates are required to be overspecialized and are rejected if they do not have exactly the right skills for the job.
Another issue is that there are quite a lot of "bad" software engineers, who are just good enough to not get fired, and others who are just ass-hats.
All of these problems do not lie with the courses or the graduates. They are endemic in industry, and the solution is to fix industry. They should recognize and hold on to talent, and hire people based on their long term potential, not based on buzzwords on their CVs. Develop people in their jobs, and create a real sense of passion and loyalty in your employees.
I also agree with the sentiment that we are churning out too many computer scientists. It just dilutes the talent pool, and far too many people go into "computers" for the wrong reasons.
I can only agree with the first paragraph,
Heck even a software engineer beats what I do for a living (programming and setting up industrial robots and machining centers)
Hey maybe I could write an ad to see if I can sex up the job
"Think you are good at computing software, come down to Boris's industrial robots and prove you've got what it takes to be a top notch programmer.... If you get it wrong , we dont just goto the backup and restore, we call the temp agency and get a new operator because you just killed the last one by inserting a paintgun in his ear.
Yes you too can be a man(or woman... or gender of your choice) in robot programming
Qualifications needed : 2:1 or higher degree, 5 years+ years experience in Heidenhain PLC programming, SQL, C++, Java , PHP, and 10 years experience in Windows 8 and 8.1 applications development.
Pay: bugger all
Benefits: we like those because they top up our pay
Social status: just below the people who muck out the lepers
Prospects: If you are good, none at all because we'll never find someone to replace you if you get promoted"
Tramp... because thats what you'll look like after 5 yrs doing this nonsense
"Computer science is all too often taught by people whose first degree, and general interest, lies in another domain. "
"A lack of domain knowledge may be one of the reasons why computer scientists are overlooked by employers in favour of physicists, chemists and mathematicians."
Yes, well, this is why it is a throughly GOOD thing that computing science is taught by people from other disciplines. It's a hybrid discipline and you want the exprience from elsewhere also. Besides which, as someone whose first degree was 20 years ago and was not in computer science, why I should be considered a lesser teacher of computing science now.
I suspect the reason that Comp Sci grads find it hard to get employed is due to the high expectations of employers, who want people skilled in exactly their current requirements. They expect someone with a degree in computers to be completely skilled in whichever little niche strand of computing their company uses (e.g. .Net programming or Oracle databases) rather than accept that the degree only provides the base knowledge from which to become skilled. If your degree didn't happen to have a module in say Python Scripting you just won't get an interview. There seems to be a strong reluctance to train up post-grads, the assumption being that the univeristy should have done that already (after all there isn't much to this computing lark is there).
Sadly this cherry picking mentality is prevalent throughout the inductry, no matter the age of the employee, with a far greater desire to employ new staff with the 'right' knowledge than train up their existing staff. The result being that employers keep bleating about skills shortages while the UK is awash with unemployed people desperate to be given a job.
Sorry, but that's the wrong way to look at it, we don't need loads of developers, because then they'll be competing with India and the rest of Asia at twice the cost. Using your building analogy, yes the physicists won't get the building built, but the Engineering Architects (Not the arty farty kind) who have the physics and materials science knowledge will make sure it doesn't fall down. In the same way, we train our Computer Scientists to be able to do good software design, good project management and governance and the basics of programming (like the architect knowing how you pour a concrete foundation, even if they don't actually do it) then we have professionals that are both employable, but also able to add real value to the companies they work for.
This post has been deleted by its author
I think it just boils down to a mismatch between what most employers think a CS degree is and what it actually is. Perhaps they don't realise the non-computer skills CS students should have once they have finished. There seems to be an assumption that CS grads are *only* good for being code-monkeys, but then get disappointed because so few are expert coders.
You wouldn't expect an engineering, medical, or law student to be able to do a job straight away, they have to learn the practical aspects on the job. So why is it any different for CS students going into software development? Employers just seem to want CS degrees to be turned into glorified training courses, teaching the latest web or mobile language-du-jour. That's not what CS is about.
A decent CS course will have a bit of AI, informatics, robotics, discrete maths, logic, linear algebra, ethics, project management, software theory, technical report writing etc (plus lots of soft skills). Learning a programming language is not top of the agenda, just like it wouldn't be in any other degree. If the module requires programming at all (which probably less than half on such a degree do) then as a student you learn enough about the language to understand the issues being discussed in the module. Any more has to be in your spare time, assuming you aren't using that spare time in other pursuits.
Most 'software development' jobs nowadays just seem to be web app, mobile app, or database stuff. I suspect that there just aren't enough interesting software jobs out there for most CS grads.
So they probably want to try going into other sectors, but if all that other people think a CS grad is good for is 'sitting in a basement', then they are never going to get a look-in. Perhaps some more positive PR about CS grads' image, and education of employers about what a CS degree actually is, is all that's required.
You need look no further than Dr Who, the current role model for most compsci graduates.
The guy set up a program and it took 400 years to get an answer. No UK employer, with their extreme short- sightedness, is going to view that as acceptable, so it's hardly surprising they look at these compsci people over the tops of their half moon glasses as though they were aliens...
=]
but Software Engineers are.
A lot of people have job titles of 'Software Engineer'. I wonder how many of them do 'software engineering'.
In an imaginary court of law you, having the job title of 'Software Engineer', are accused of NOT being a software engineer and therefore of being a fraud. Please present documentary evidence from your daily job activities that support your claim to that job title and that you 'do' software engineering. Please stand up and give an account of the software engineering principles that you commonly employ in the execution of your software engineering duties and responsibilities, preferably with references to one or more code bases that you have had a significant part in writing.
Here in the States the situation is the same as what I'm reading in a lot of the above comments. I graduated with a Comp Sci in 1991. I live in a lower density population area and the jobs available do not need Comp Sci. Yeah, the ancillary stuff learned in getting the degree is quite useful for programming, system administration and other roles in local businesses. In the more densely populated areas (Chicago, Silicon Valley, etc.) there are plenty of businesses that need Comp Sci skills. I'm two hours out of Chicago and lots of local businesses use programmers, systems admins and the like. I happen to like the sys admin stuff and have done well with it. I think the liberal arts angle of the degree helped me as much as the more specific bits of the major.
Not long after I graduated the jobs dried up for anyone other than a visa holder. I had moved slightly up the chain and only had a few months unemployment but recent grads are not faring well.
As a foreigner down in TN, from what I understand visa holders (H1B) must be paid the prevailing wage (i.e. cannot be cheaper) and the job must also be posted for 30 days in public.
Could you please explain how visa holders get preferential treatment as I was one, and it was a major PITA...!
I certainly didn't feel very special...;-)
P.
Whatever happened to the concept of starting as a junior and putting in the hard first few years of really learning your trade through week in week out, learning the difference between completing tasks and producing really first rate maintainable code? Not to mention the subtleties of databases, networks, user interface design, translating business needs to real life systems, realising that you're there to make money for your employer by contiually increasing efficiency of processes (both human and machine based)....... and it's not all about being in the "cool" trend of the moment and immediately earning a fortune?
Some of the companies, managers, systems and idiotic recruitment practices I encounter these days make me shudder at the way ever increasing progress on the technological level is held back so much by so many clueless people. on the human level. When the industry was smaller, it at least tended to punish the useless by not giving them so many places to hide.
"Whatever happened to the concept of starting as a junior and putting in the hard first few years of really learning your trade through week in week out, learning the difference between completing tasks and producing really first rate maintainable code?"
That concept went out the window when employers trashed it.
They want people who at least claim to be fully qualified now. They aren't prepared to pay even minimum wage for someone to learn on the job.
"In the UK, there are more unemployed graduates in computer science than in any other discipline."
So attendees at the conference just ignored that little fact and repeated the ideas and concerns they had 10 and 20 years ago.
Conference topics:
1. How to get more women into this oversupplied field so women can share in the same high levels of unemployment as men.
2. How to add programming to the general school curriculum to further reduce job prospects for all CS graduates.
Studying CS is rapidly becoming akin to to studying become a draftsman or scrivener. It is rapidly becoming an obsolete field.
These days, I consider it immoral and unethical to encourage a young person to enter our field. If they want to get in, fine, there will always be a few good jobs.
But convincing someone who is undecided this is a good career that will provide a career of 35+ years that pays well and is interesting is absurd.
Much better to study engineering, business or art and do CS as a minor. Or pick up programming later on.
I graduated from Aston University in 2005 with a Comp Sci degree, I have to say the degree itself provided us with pretty much nothing that we could have taken and used in the real world unless in really specialised areas, our main programming language was Ada and apart from that there was a brief touching on some things like Assembly and Java but certainly not enough to make you feel skilled enough for a real world job in it. Sure, I could have gone into a job with Ada but to be honest I just didnt enjoy it enough to ever be a consideration.
My "Professional Placement" (I am pretty angry its called that considering how much I bust my ass to get that job, the 2 day long interviews and review after review) was pretty much what I rode on through the start of my professional career! It was with IBM and I have to say was the best decision I made going for it. I was lucky in that I had a really decent manager there who basically let me explore whatever I wanted to do as long as it was solving problems that existed around my team (I was working as a DBA in Service Delivery on a big forex project!). Because of this I was able to get a decent amount of real world experience in PHP and Python (which I had planned to learn anyway for my Final Year Project).
I think that without the programming fundamentals of Ada - I would have found it harder to learn the languages which I now use every day, I appreciate that side of my degree, however if you dont take the initiative and see what skills are relevant in the real world and then go obtain them - you will have a less than positive outlook on it - I know when I looked at the Job market for Ada and Java jobs I felt pretty disillusioned with it - I am glad I had IBM on my CV and a dissertation done in a language I wanted to do in the future - without that Sandwich year - I definitely would have gone a different path in my life :)
I have worked in IT in UK for many years, and things have changed completely.
If you walk down the floor of the IT department in any large corporate in the UK, you see pretty much only Indian faces.
Intra company transfers mean that uk companies are allowed to onshore as many staff as they like and they get a tax break for doing so, this means that any computer science graduate cannot get a job in any corporate, or if they can they should expect minimum salary as they have to complete with Indian onshored candidates.
This is about to get even worse...my advise to University students is don't study Computer Science or any other IT related field, its a dead end because the governments policies are designed to wipe your career out.
http://www.opendemocracy.net/ourkingdom/linda-kaucher/what-was-real-purpose-of-david-camerons-visit-to-india
http://www.theguardian.com/uk/2012/feb/28/companies-bypassing-immigration-cap?view=mobile
I've read the arguments a) Too many rubbish CS grads or b) All the junior jobs taken by outsourcers and in my humble, you're both wrong and both right. I have been both sides of the interview desk recently and the problem as I see it is actually lazy recruiting. Recruiting is and always has been hard. However, rather than seeing to this, one of THE most important aspects of running a business; managers try to outsource this problem as well. The number of times I have seen the requirement written by a supervisor for a new bod being morphed into something almost, but not entirely unlike the original specification by a succession of managers, HR types and recruiters. The supervisor is asked what the current bod, that is leaving, actually does. The supervisor lists the apps and languages used in the department. This list, down to the nearest patch level, becomes the laundry list of must haves that goes into the spec. The recruiters then do a pattern match, down to the nearest patch level, on their database and come up blank. The cry goes up ..."Skills shortage". So the spec is hawked around, and two sets of people reply. First you have the genuine possibilities. They haven't used the exact patch release, but they have used a similar product, in fact they wrote a bunch of a related product and have been in the general vicinity for years. You then have those that take the job spec and reword it into a CV. Guess which set matches on the pattern match run of new applicants. So the fakers get taken in for interview and when faced with actual questions and tests and such, of course bomb so hard they leave a dent. So the cry goes up "CS graduates are rubbish". On the flip side, those that could have done the job and got pushed off the bottom of the short list by the fakers, are mystified as to why they didn't even get a reply and the cry goes up "Massive unemployment amongst IT folks". I know this is all generalisations, but I have seen pretty much exactly the above on all too many occasions. We don't actually need very much different in the way of fundamental skills now than 20 years ago. Sure the versions and products have changed. There are new techniques and tools. However, the basic skills and the fundamental engineering practices have not changed sufficiently to render the existing experience unusable. Oh and finally, when DID it become a sin to actually train your technical staff?
I think some of the issue is expectation... I have been involved in the interview process for a new web developer recently, we have had a few graduate applications... all turned down because their stated salary expectation is pretty close to my actual salary (and that's above average for the area).
So lets set expectations, let them know that they will have to work their way up, most importantly tell them to research average salary for their experience level and not ask for the same as someone with 10+ years experience!
What is a realistic expectation then? I'm two years out of university, with an electronic engineering degree and I worked alongside many a computer scientist who put in as many hours as I did over the 4 years I was at university. I demanded (and got) £28k starting - is that ridiculous in your view? I suspect it might be. 2 years in and I'm comfortably in the £30-40k bracket. Is that ridiculous? over-inflated? unrealistic? I had a few months work experience and a 2:1 at a Russell group uni, but it's not really groundbreaking stuff. I'm not in oil, financial services or banking, just a run-of-the-mill corporation at the junior level.
Have you thought about considering them but offering a salary more in line with your expectations? You might be surprised that they'd likely settle for £10k less than they're asking. I appreciate CV filtering often involves chucking everything that is remotely aside from the narrow parameters you've set (split the pile, chuck the left one away - you wouldn't want to employ anyone who is unlucky, would you), but in my experience, our expected salaries on a CV were just the ones we'd seen from the 20 or so companies at the uni careers fairs, who are usually at the upper-end of the multinational corporations with large, well funded graduate schemes - after all, you'r not going to lower your potential earnings by putting down an artificially low expectation, are you? Equally, having no experience in the world of work, you don't have a yardstick to draw on to test whether what you read on WhatSortOfSalaryShouldIGet.com is remotely plausible.
Personally I think the whole reason so many people are underpaid in this industry is because we keep our salaries so private - the most common salary quoted to me during my job search was "competitive" which is a meaningless phrase which allows HR to get away with quoting you an offer 40% below that which they're willing to pay and you'll probably just accept it because the only yardstick you have at the end of uni is the daily mail unemployment figure.
If you want to be well paid, then start shouting your earnings from the rafters like those in finance do - they're doing it as much to tell if they're being ripped off as they are to boast. Directors publish their salaries in the annual reports. Why is there such a stigma over how much society values your time when you're a professional, other than the fact that it keeps people timid?
To get back to topic - the other reason people don't employ computer scientists is because they think it sounds like a pseudo-science, like environmental science, or social science, or watersports science. A couple of those are respectable disciplines, and a couple are a bit of a joke. But if you ask 100 people if any of them are proper academic subjects, 90 of them will tell you they're not.
There was also a glut of people studying around the dotcom boom and bust, meaning that you don't have a chronic shortage of qualified people at the moment, unlike most STEM disciplines.
Or not so much; if they play with technology they'll work with it. I built a railgun in my bedroom around 1956, got an Amateur Radio license in 1957 and I've been playing and working with electronics all through a 21 year military career and a 30 year one in electrical engineering. They pay me, too!
Get them to play with it. Play is how humans learn best. And they'll keep on learning too. Why not? I have.
The world is a joy and its people a wonder. If you play.
The article is a load of nonsense, worse the push women yacking is toxic "Uncle Tom" nonsense; any women with an interest will find their own way there, the few I saw at uni got jobs in other areas.
I learned about programmed computers, and built hardware well before I went to university, I only went there because stupid employers would only give a chance to people with Higher Education qualifications then, and so that I could get exposure to more advanced ideas and systems; this was before the internet was available to the public.
I've graduated in CS this year. From my experience I have noticed that some universities will accept almost anyone into a CS degree. I've met people who done 2yrs BTEC in which they've done IT learned how to use spreadsheet and word processor and they think that's what CS is like. No ambition, no interest in the subject and the typical response to why you are doing CS: "it pays well doesn't it?". I think universities should do better at filtering students. 5 years ago in college my Computing course had 12 students. Out of 12 students in college only 3 continued on the CS route through university only 2 had CS related jobs after university.
There is the analogy to Dubai:
IT workers may have helped built the City of Tomorrow,
but whoever said, that they would be allowed to live there?
IT is a globalised industry, with wages set at global rates.
I.e. Max $15K per year, India or soon China.
Governments, in particular that in the UK, have been cruising
lazily on the concept of "up-skilling", which *IS NOT GOING TO HAPPEN*!!
If there is a business with a margin beyond Marginal Value, then globalised
Indian, Chinese, or whoever that can enter it, WILL enter it.
Foxconn, not apple, are the world's premiere handset fabricators.
Inevitably, they will turn to their own designs, and people everywhere
will buy them.
So IT, (in fact *all* knowledge based) workers anywhere in the
western world, are in fact, fucked.
Your only chance is to create your own IP, then run the gamut of
the usual predators.
And enjoy living hand to mouth, in daily fear, like the rest of the world.
Happy Christmas.
One of the biggest Issues I see is the fact that nearly EVERY IT job posted, all have Computer Science Degree listed as requirement! Yet I am a Network Engineer, Sysadmin, and Computer Tech, and I don't see how any of the programming languages I learnt in College has helped me at all! Hell, I know Comp Sci Graduates, who can't change a hard drive! Yet that is some how a pre-req for Sysadmin or Network Engineering? It's just crazy to me. To me it seems "HR" just adds Computer Science to their requirements, because the word "Computer" is in it, not knowing at all what the positions they are looking for people for actually Need as Skill Sets!