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?
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.
> 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.
Fighting over unpaid or underpaid internships and ass-kissing with professors so you don't wind up unemployed is standard operating procedure in every industry other than tech.
I can't believe the things my high school classmates in law and medicine put up with and how little money they stand to make until they hit 30.
>E.g. the popularity of CS in the media means that it attracts poor candidates
Well, that's somewhat true, although it's probably more to do with middle class jobs drying up in other professions than the media.
Increasingly it seems that Tube Drivers and Programmers are the only middle class jobs left.
Tube drivers because they can still shut down London.
Programmers because lots of people with more money than god still believe in unicorns and because they are willing to channel that belief into a fire-hose of capital financing.
Otherwise I would absolutely think that the best jobs would go to those who start work early. Certainly bears out my experience. I know plenty of graduates who didn't really think about careers until leaving and suddenly found themselves at a disadvantage.
Computer Science and tech are unique in that programming talent can be gauged to some extent and companies actually are interested in doing so.
Consulting, accountancy, banking, law, etcetera all seem, superficially, to be based a lot more on the ability to put up with long hours and some sort of prestige test.
If anything tech workers have it easier in my view. You don't just go and interview and get a job working in biology regardless of how special you are. (OK; I suppose if you had a cure for a cancer that may not hold).
I'm not sure I agree with the idea that you should be doing extra work just to get hired (there are cons and pros), but CS is a special case, along with a few other professions. These professions have a simple way to practice and extend your knowledge outside of work. You say medicine is different, but I'd say it's in between - you'd rather hire a more skilled doctor, right? Well, to get more skilled they pay for extra courses and exams with their own money, spend extra time and get more credentials. But they can't easily practice what they do in their free time. While junior doctor positions are not free internships, add course costs and they're not far off.
How about translators then. You've got two translators with (officially) the same level of training. But one constantly reads specialist literature in foreign languages, while the other one doesn't. Would you not hire the first one? Would you still claim that's foisting responsibility?
> 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.
Do you know why engineering students join the Solar Car team, or EngSoc, or do internships? The fact that it looks good on a job application is almost always a component.
It's not just a small thing either. At my current university, the engineering internship program has a 70-80% participation rate.
Maybe because the graduates are trying to do something totally different from what they've been taught, therefore requiring a huge amount of self-education in parallel with their course? If 99.99% of physicists specialising in fluid dynamics went on to pursue careers in plumbing we'd see a similar unemployment pattern.
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.
> 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.
Coming at this from the other direction (CS degree from Cambridge): you're absolutely right. The course was far more valuable for its secondary opportunities and spare-time projects than much of the content. And I agree that software in particular is much more of a craft in practice.
Most people would be better of with a trade school/apprenticeship system, or a "sandwich course". These do exist and I know someone taking one as a mature student, which came with a Microsoft Research internship.
Schools should really be handing out copies of that "employment rates by course x institution" table with the UCAS forms.
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.
> 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'.
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.
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.
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:
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:
Northumbria Uni has 'HTML, XHTML & CSS for dummies' and 'PHP & MySQL for dummies' on the reading list of their Computing and Information Technology MSc.
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.
"you can learn the course material in six months of study"
I don't know what courses are like these days - but that absolutely wasn't the case in the 1980s when I got a CS degree. However, the course I did was fairly heavy on the maths/formal side of things rather than focusing on the craft of programming.
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?
[+] [-] anjc|10 years ago|reply
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|10 years ago|reply
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.
[+] [-] aianus|10 years ago|reply
Fighting over unpaid or underpaid internships and ass-kissing with professors so you don't wind up unemployed is standard operating procedure in every industry other than tech.
I can't believe the things my high school classmates in law and medicine put up with and how little money they stand to make until they hit 30.
[+] [-] crdoconnor|10 years ago|reply
Well, that's somewhat true, although it's probably more to do with middle class jobs drying up in other professions than the media.
Increasingly it seems that Tube Drivers and Programmers are the only middle class jobs left.
Tube drivers because they can still shut down London.
Programmers because lots of people with more money than god still believe in unicorns and because they are willing to channel that belief into a fire-hose of capital financing.
[+] [-] stegosaurus|10 years ago|reply
Otherwise I would absolutely think that the best jobs would go to those who start work early. Certainly bears out my experience. I know plenty of graduates who didn't really think about careers until leaving and suddenly found themselves at a disadvantage.
Computer Science and tech are unique in that programming talent can be gauged to some extent and companies actually are interested in doing so.
Consulting, accountancy, banking, law, etcetera all seem, superficially, to be based a lot more on the ability to put up with long hours and some sort of prestige test.
If anything tech workers have it easier in my view. You don't just go and interview and get a job working in biology regardless of how special you are. (OK; I suppose if you had a cure for a cancer that may not hold).
[+] [-] viraptor|10 years ago|reply
How about translators then. You've got two translators with (officially) the same level of training. But one constantly reads specialist literature in foreign languages, while the other one doesn't. Would you not hire the first one? Would you still claim that's foisting responsibility?
[+] [-] slavik81|10 years ago|reply
Do you know why engineering students join the Solar Car team, or EngSoc, or do internships? The fact that it looks good on a job application is almost always a component.
It's not just a small thing either. At my current university, the engineering internship program has a 70-80% participation rate.
[+] [-] sklogic|10 years ago|reply
[+] [-] tracker1|10 years ago|reply
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|10 years ago|reply
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.
[+] [-] pjc50|10 years ago|reply
Most people would be better of with a trade school/apprenticeship system, or a "sandwich course". These do exist and I know someone taking one as a mature student, which came with a Microsoft Research internship.
Schools should really be handing out copies of that "employment rates by course x institution" table with the UCAS forms.
[+] [-] andrewingram|10 years ago|reply
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|10 years ago|reply
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.
[+] [-] harryc2011|10 years ago|reply
[1] http://www.thecompleteuniversityguide.co.uk/league-tables/ra...
[+] [-] Symbiote|10 years ago|reply
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|10 years ago|reply
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...
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...
* Computer Graphics Technology BSc(Hons) http://www.kingston.ac.uk/undergraduate-course/computer-grap...
[+] [-] rm554|10 years ago|reply
https://www.northumbria.ac.uk/study-at-northumbria/courses/c...
One of the programming modules in the same degree is titled 'Programme Design & Implementation'.
https://www.northumbria.ac.uk/study-at-northumbria/courses/c...
[+] [-] arethuza|10 years ago|reply
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|10 years ago|reply
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.
[+] [-] ciaranm|10 years ago|reply
[+] [-] UK-AL|10 years ago|reply
CS at university does not teach that.
[+] [-] arethuza|10 years ago|reply
I don't know what courses are like these days - but that absolutely wasn't the case in the 1980s when I got a CS degree. However, the course I did was fairly heavy on the maths/formal side of things rather than focusing on the craft of programming.
[+] [-] sklogic|10 years ago|reply
[+] [-] Dakuan|10 years ago|reply
[deleted]