
Unemployment among UK computer science graduates - Futurebot
http://blog.hefce.ac.uk/2015/07/08/unemployment-among-computer-science-graduates-what-does-the-data-say/
======
anjc
I've seen these threads numerous times, because the exact same effect has been
seen in numerous western countries and studies keep popping up. Invariably
commenters try to explain away the results, typically by blaming the people
afflicted, and I can see it happening already in this thread. E.g. the
popularity of CS in the media means that it attracts poor candidates; the
quality of courses isn't good and people should choose carefully; people can't
expect to get a job without spending all extracurricular time in quality
internships and having x number of projects and OSS contributions under their
belt and an active Github account; [insert country] is different because of
[insert reason] (ignore that the same thing is occurring in many countries),
etc etc.

My question is, why should CS be different than any other subject in terms of
foisting responsibility onto kids who just want to gain employment? I have a
feeling that if you started telling medicine/architecture/engineering/science
departments that they need to start teaching students about entrepreneurial
skills, and that students need to spend their spare time working on projects
and battling for internships or they'll likely remain unemployed, that you'd
be laughed out of the building. I'm not sure why CS is a special case, and why
practitioners perpetuate this situation via blame in threads like this. It
makes intuitive sense that employers want the best candidates, and these are
mechanisms by which candidates can demonstrate suitability, but every other
area seems to cope without them, so...why CS?

~~~
dublinclontarf
In software, qualification and even experience does not correlate with
ability.

If you have a newly qualified accountant, doctor, architecture it is assumed
they are at least competent to some basic standard (and it is expected there
competence increases with age + experience).

This is NOT the case with software, it's possible to be a software engineer
with 10+ years experience and still be terrible.

My own experience is that I don't test well, and this has made it terribly
difficult for me to get jobs. I have two startups behind me yet it's made
almost no difference.

~~~
crdoconnor
>This is NOT the case with software, it's possible to be a software engineer
with 10+ years experience and still be terrible.

Unfortunately most companies don't select for good software developers and
neither do most software developers (ask people what their favorite kind of
interview test/question is and you'll rarely actually get a good answer but
you will often get a confident one).

Most companies don't reward being a good software developer either. Management
mostly just don't know what it is you do and have no idea how good you are.
Thus they just default to pretending that you're a disposable cog even when
that behavior is self-destructive.

At best they'll make use of some poor proxies (degree class, university,
popularity of the OSS project you contributed a one line fix to, their
personal "gotcha" question, etc.).

Is it any surprise that people don't improve? With some exceptions, there
really is no point.

------
tracker1
I think that is because most of the actual jobs are for programming, software
development and systems/network administration. The CS degree programs are
more centered on math and some electrical engineering concepts. I think the
problem is partly in terms of perception and partly in regards to
expectations. There simply aren't that many jobs out there for entry level
(fresh out of college) computer science types.

My suggestion would be for those who want to work in a given field to consider
their internships carefully, and work on projects and in positions that lend
themselves towards learning their desired field of employment over the
specifics of the educational learning. The CS concepts can help, but actual
experience tends to count for more.

This is as an outsider who's worked in software development for almost two
decades now without a formal education. I've worked with programmers with
degrees that were very good at their job, and others with masters in CS that
couldn't think their way out of a wet paper bag. Theory does not equate to
practice, and software in particular is much more of a craft in practice than
engineering or science.

~~~
paulojreis
> and software in particular is much more of a craft in practice than
> engineering or science.

Definitely agree. I have some experience (8 years) and most of the software
development jobs I've seen aren't "engineering" at all, and shouldn't require
higher education.

~~~
pjmlp
Hence why bare coding is being off-shored with the real engineering
(Architecture, Design, Planning, Customer Relations,...) is left on the
destination countries.

Those that want to stay pure coders will be left behind, given the current
market trends, even here in Europe.

~~~
paulojreis
Customer Relations as real engineering? I'd say that only "architecture" or,
better, system design should be engineering work. Conceiving and planning a
product (not its implementation), as well as making it fit the market, that's
not engineering.

~~~
pjmlp
It is because architects need to deal directly with customers and their wishes
might have huge impact in the overall design.

Also they mighty need to be explained the technical advantages and possible
issues of the ongoing projects.

------
andrewingram
One of the thing that's bothered me about the English education system
(basically since I realised what was happening), is that it's basically a
continuous process of limiting your option. For GCSEs I did 3-4 fewer subjects
than the 3 preceding years, for A-Levels I did 8 fewer subjects than that. For
university I did exactly one subject. And commitment to a subject at each
stage is for the full duration of that stage (more-or-less). There's no
concept of dabbling in a subject for a semester to see if it takes.

At university, the _furthest_ I could deviate from a pure CS module, was
"Russian for Scientists" and a few maths/stats modules. If you wanted to do
anything more diverse, you needed to get special permission. I certainly
wouldn't have been able to take do a calligraphy module and revolutionise
computer typography. And if i'd decided computer science wasn't for me, i'd
have had to throw away all degree progress and start over with the new
subject, there was no concept of carrying over any accumulated credit into the
new degree.

~~~
aianus
> At university, the furthest I could deviate from a pure CS module, was
> "Russian for Scientists" and a few maths/stats modules.

Lucky you. I was not allowed to take any more Math/CS courses by my last
semester because I had already taken 'too many' and needed to fulfill my 'non-
math' credit requirements. No joke -- the requirement literally just said
'non-math - 5.0 credits'.

What a load of bullshit.

~~~
chris_wot
I'm a guy who is teaching himself mathematics so curious to ask: is there a
point where you can't just teach yourself and someone has to actually teach
you in person?

~~~
charlieegan3
I don't think you ever need to be taught in person - if you get a good teacher
it just makes it faster.

There are loads of great math videos on YouTube - this is where I've best
learned new math concepts recently.

------
harryc2011
Isn't the problem right there in the first sentence? - "Almost every
university in England offers courses in computer science". Obviously not all
institutions offering a CS degree are equal & a quick look at a league table
[1] shows that the 'Graduate Prospects' range from 100 (St Andrews) to 38
(Bolton). Elsewhere in the thread someone mentions software apprenticeships
and I think anyone thinking of enrolling on the CS course at Bolton might be
better off doing an apprenticeship instead.

[1] [http://www.thecompleteuniversityguide.co.uk/league-
tables/ra...](http://www.thecompleteuniversityguide.co.uk/league-
tables/rankings?o=Graduate+Prospects&s=Computer+Science)

~~~
Symbiote
That's exactly right, and the article goes on to explain that. The scatter
plot compares "UCAS Tariff" (A-level results etc) to unemployment.

I used to work with / mentor students who were somewhere in the middle to poor
end of the scale. An apprenticeship is probably better, now that tuition fees
are so high.

------
SandB0x
I would guess the main factors are a) the huge range in prestige or quality
between universities and b) the large number of media and business degrees
that are classified as computer science.

On the first point, look at the difference between the numbers at the top and
bottom of this table:

[http://www.theguardian.com/education/ng-
interactive/2015/may...](http://www.theguardian.com/education/ng-
interactive/2015/may/25/university-guide-2016-league-table-for-computer-
science-information)

These rankings are nonsensical in many ways, but some universities
consistently appear towards the top and some towards the bottom and the
employment stats plummet towards the bottom of the table.

On the second point, click on a university name in the link above and you will
see a list of degrees. You can a) see that "Computer Science" can mean all
sorts of different things and b) you can click on the degree name to see the
actual course contents, which may not match what you think of as computer
science:

* Business Information Technology BSc (Hons) [http://www.lsbu.ac.uk/courses/course-finder/business-informa...](http://www.lsbu.ac.uk/courses/course-finder/business-information-technology-bsc-hons#course_tab_modules)

* Computer Graphics Technology BSc(Hons) [http://www.kingston.ac.uk/undergraduate-course/computer-grap...](http://www.kingston.ac.uk/undergraduate-course/computer-graphics-technology/)

------
rm554
Northumbria Uni has 'HTML, XHTML & CSS for dummies' and 'PHP & MySQL for
dummies' on the reading list of their Computing and Information Technology
MSc.

[https://www.northumbria.ac.uk/study-at-
northumbria/courses/c...](https://www.northumbria.ac.uk/study-at-
northumbria/courses/computing-and-information-technology-dl-
dtpcti6/modules/cm0728-website-development-and-deployment/)

One of the programming modules in the same degree is titled 'Programme Design
& Implementation'.

[https://www.northumbria.ac.uk/study-at-
northumbria/courses/c...](https://www.northumbria.ac.uk/study-at-
northumbria/courses/computing-and-information-technology-dl-
dtpcti6/modules/cm0718-programme-design-implementation/)

~~~
arethuza
A lot of UK MSc courses are "conversion courses" for people with degrees in
others subjects and who want to get into computing.

In my experience the level the MSc courses are taught at can be a good bit
lower than the undergraduate courses in the same department.

NB This doesn't apply to all UK masters degrees, obviously. Some of the 5 year
courses are really good.

------
dijit
The problem is that a batcholers in computer science doesn't actually mean
anything from the UK, you can learn the course material in six months of
study- and employers know this.

so when employers are looking for applicants, they look for CV buzzwords and
then test the person applying.

Pass the test? great. you're in.

a degree for software/systems engineering really only helps later in life when
you're going for a leadership or management role.

the UK is also guilty of denying education about how computers work for a
couple decades, opting only to teach microsoft office with a few CCNA college
courses which inevitably get cancelled. So computer science students are
really learning how computers work when they first go to university- and
that's just mental.

~~~
UK-AL
I think the issue is employers are looking for web/mobile/whatever developers
with heavy emphasis on building quality code and the latest trends.

CS at university does not teach that.

~~~
arethuza
"CS at university does not teach that."

Personally, I don't think that CS courses should be even _trying_ teach that
kind of stuff. CS courses should be about fundamentals not craft or process.

[NB Craft and process are obviously more important that fundamentals for at
least 95% of development roles - which is why I hate CS courses being regarded
as "learn to develop" courses].

~~~
jon-wood
There should be far more focus on software apprenticeships, which is why I
welcome the flurry of development bootcamps that have been springing up over
the last couple of years. The best of them know that they're only really
getting people to a minimum level, and work hard to place their graduates with
companies that are able to commit to spending a year or two continuing to
train them, rather than just throwing people with 12 weeks development
experience in at the deep end.

~~~
spacecowboy_lon
Apprenticeships <> Bootcamps

And for a "professional" Job its debatable if using such a low status term is
a good idea - in the UK Apprenticeships are seen as blue collar low status
jobs at best.

Ask most people in the UK about Apprentices and they will think of the lusers
on that ghastly TV Show.

Oh And I say this having followed the vocational track into IT

~~~
jon-wood
I see bootcamps as one of the few viable options to get a previously
inexperienced person into a position where they're able to take on a software
apprenticeship. I may be grossly simplifying things, but it feels to me like a
trade such as plumbing or gas fitting can be picked up on the job.

Software development requires a pretty extensive grounding in the basics just
to know what you're looking at when someone shows you new techniques - to
stretch my already tenuous metaphor even further, most people at least know
how to remove a spanner from a toolbox and which end to hold it. I'm not sure
the same can be said of opening a terminal.

As for the discrimination against apprenticeships as being a lesser thing than
the default route of school -> college -> university, that's a wider issue
that needs addressing, and I don't think its going to be helped by inventing
some new name for the same thing, especially in the software industry. I also
took the vocational route in, and I don't think its ever put me at a
disadvantage (if anything it means I have three years more professional
experience than my peers). Most of the software developers I know studied
unrelated subjects at university anyway.

~~~
spacecowboy_lon
The name for the associate professional step between Apprentice and Degree
level engineers is Technician and has been for the last 50+ years.

------
sklogic
I always thought that computer _science_ graduates should only be employed as
_scientists_. Anythig else is a waste. Why don't we have more software
_engineering_ courses instead?

