

No wonder CompSci grads are unemployed - bensummers
http://www.theregister.co.uk/2010/11/01/comp_sci_graduates_need_more_skills/

======
paulitex
All the hate on artsies ruined the article for me.

 _If you haven’t trashed your computer while doing something questionable,
then you’re not a computer scientist – you’re just an arts grad who didn’t get
laid_

 _A CompSci grad is supposed to be able to do difficult things that arts grads
simply can’t understand._

This is exactly the type of biased, negative, and unproductive criticism that
the HN community works hard to prevent and has been recently vocal in
admonishing.

I may be a little sensitive - I have both a double major BA and a Bachelors in
Computer Science and my CS friends look insanely ignorant when they presume
they know anything about the benefits/lacks of an Arts degree. Arts "teaches
you to think" in ways that CS/Engineering students are never even exposed to
(except for by some token arts requirements) - it teaches you have to think
about _people_ and the human condition. I would much rather have a CS grad
help me start a company, but equally rather have an Arts grad _run_ it (See
Warren Bennis' _On becoming a leader_ for a much better investigation into why
Arts students make the best leaders [of human beings]).

I'm not saying that Arts is _better_ in any way - I'm just asking for mutual
respect. No poli sci student is going around saying they can prove the
amortized runtime of a skip list - if you're in CS please don't pretend you've
had their education either. Your education also isn't any "harder" in any
objective way - ODEs or building an OS in C is not any more difficult than
wrapping your head around Aristotle or existentialist phenomenology, it really
isn't. It's actually much easier to get an A in CS than Arts, but that's a bit
of an aside.

I realize that this was an article not a comment, and I don't intend to start
a debate. I just think we need some mutual respect between the disciplines and
there seems to be a latent "bash artsies" in some tech writing that really
needs to be squashed - it's not helping anyone.

[more to the point of the article: My subjective anecdotal evidence is that
arts grads have a MUCH harder time getting hired post-grad (which makes sense
considering they chose to learn fundamentals not practical skills) so they go
either a) travelling b) to grad school c) to law school. This is a major skew,
none of these people should be consider employed, but they don't contribute to
the arts grads unemployment rate either]

~~~
ionfish
This "two cultures" [1] attitude is, sadly, incredibly pervasive. The idea
that there are two kinds of people, two kinds of education, and thus two kinds
of careers—one in the arts, one in the sciences—is a product of irredeemable
stupidity and must be resisted.

Consider the following list of people, most of whom we should all be familiar
with.

\- Aristotle was concerned with understanding the natural world; with logic
and mathematics; and with ethics, how to live a good life, music, the theatre,
and more.

\- Leibniz developed the calculus, symbolic reasoning, and ideas about
computation. He also wrote about law, ethics, and religious disputes.

\- Bertrand Russell made major contributions to mathematical logic and the
philosophy of language and mind, as well as being a prominent public
intellectual and peace campaigner.

\- Saul Kripke developed Kripke semantics for modal and intuitionistic logic,
as well as making major contributions to the philosophy of language, mind, and
epistemology and metaphysics.

I'm sure everyone here can think of many more examples, and no doubt your
personal interests will influence your selections (as mine obviously have). My
point is that an interest in, and the ability to make a major contribution to
the arts or sciences in no way precludes making a contribution to the other.
Yes, writing a proof is different to building a web service, which in turn is
different from writing a book on Spinoza or studying the family dynamics of
drug addicts. But the classes of people who do these things are not disjoint.
We live in a world of specialisation, but that doesn't mean we have to live in
a world of separation; that we cannot have broad interests and broad
capabilities. When I was a child I learned about the Bohr model of the
hydrogen atom, but I also read the Iliad. There's no contradiction there, so
why do so many people subscribe to the idea that people who do the latter
can't do the former, or vice versa?

There is nothing contradictory in being able to write well, derive logical
proofs, appreciate literature and disassemble a computer (or a car!). The call
for mutual respect is appreciated, but surely we should demand more: a denial
that this divide should exist in the first place.

One small nitpick, about learning fundamentals rather than practical skills
making it harder to get hired. Even assuming it to be true, I don't think it
cuts at all cleanly across the Arts/Sciences divide. A good understanding of
complexity classes is not something I would call practical, i.e. able to be
applied directly to so-called "real world" problems. My guess would be that it
might make one hireable, in that employers might value the kind of mind which
can comprehend such things, but that the number of places hiring people to use
that knowledge directly is probably extremely limited. The problem that arts
students might be facing is more that their skills are hard to quantify than
that they are more concerned with fundamentals.

[1] The term "two cultures" comes from C.P. Snow's famous 1959 lecture.
<http://en.wikipedia.org/wiki/The_Two_Cultures>

~~~
endtime
I think you're mistaken to assume that more than a handful of us are as all-
around insightful as Aristole, Leibniz et al.

------
dkarl
God, articles like this make me feel so much better. Reading nothing but
textbooks, source code, and blog posts by ridiculously talented people makes
me wonder why anybody pays me to do anything. This article made me feel like a
total stud.

------
blahpro
As a recent CS grad, this article stuck a chord with me. I wrote the following
reply to the author:

\--

Hey Dominic,

I’m a recent CS grad (2009) from ECS at the University of Southampton. Full
disclosure: it goes against my humility to say it, but I would probably
consider myself to have been a student who hacked around with a lot of
technologies and concepts not touched by my course (and I think I’m
considerably better off for it).

Not to blame the course, though — the course at ECS was amazing. We had our
fair share of "ethics" and "IT industry" modules, although everyone admitted
(lecturers included) that these existed mostly to appease the professional
bodies. We were subjected to modules that sought to teach us Java,
requirements gathering, HCI and project management, although these only made
up a small part of the course as a whole. A sizeable portion of my time at
Southampton was spent deep in the mathematics that vitally underpin the
"softer" CS subjects, and the course was delightfully broad. We built
compilers to parse abstract languages, learned LISP (much to the initial
mindfuckery of my peers and I) and we all implemented a FAT12 filesystem in C
from scratch. The latter required two 12–hour sessions in the lab, and I’m
pretty sure that the vending machine was completely drained of coffee
somewhere around 6 hours into the second day. We were taught and examined in
gratuitous (but stimulating) detail on computational complexity, data
structures, formal methods and the properties of fundamental algorithms, and
the officially sanctioned languages used throughout the course spanned Java,
C(++), C#, PHP, Scheme, Python, JavaScript, Perl and a handful of UNIX shells.

I don’t think the problem is the courses, I think it’s the learning style of
many students and the sheer number of students that are encouraged to go to
university just because it’s what they are "supposed" to do to get a job.
Group work always frustrated me, as many of my peers simple wanted to learn
the course notes verbatim so that they could regurgitate them in an exam.

Although it concerned me that many of my peers would one day be released into
the wild firmly clutching their Java IDEs, there were a lot of really bright
students on my course.

The thing that stops large companies hiring me is probably the abundance of
truly awful recruitment agencies. Myself and many of the ECS–ers that I’ve
kept in touch with are bombarded by 5–10 poorly written, unprofessional
LinkedIn messages from recruiters every week. Today I received such a message
that opened with "Hi Darcey". Classy. They all seem to want Java/C# developers
and none of them seem to care about other technologies, or deem them
irrelevant, or think that this sort of "playing around" detracts from your
skill in some other proprietary technology on their checklist. It’s getting to
the point where I’m only "working" (for money) around 40%-50% of the time. The
rest of the time, I’m just sitting at home working on side projects to keep
myself amused.

Many of my most talented coursemates are either now working on their PhDs, or
working 10 hours a day on a soul–destroying graduate program for some faceless
city financial institution so that they can retire at the age of 45, burnt out
and sick of technology.

Sometimes I feel like I should just move to Mountain View or Palo Alto or
somewhere else with a little Silicon Valley sunshine, but I don’t want to move
away from my family, and my girlfriend is very happy here working for a
physics startup. It bothers me how grey and soul–less the prospects appear to
be for passionate British software geeks.

Perhaps I’m missing something crucial (or maybe I haven’t been hanging out
with enough of the cool–kids at Silicon Roundabout) but where can I find great
tech jobs in this country?

Ben

~~~
ig1
What sort of tech job are you looking for ?

~~~
blahpro
I’m a web developer. Much of my recent work has utilised Python/Django and
JavaScript, although I have experience with a wide range of (mostly
open–source) technologies.

I just checked out CoderStack. I’m looking forward to your launch :)

------
al_james
Very ranty article, but has a point.

I taught in a Computer Science department for 4 years whilst studying for a
PhD. I can honestly say that each year, the quality of the students coming in
reduced (lower qualifications, less students with any Maths background for
example) and in order to maintain pass rates, the university responded by
taking hard subjects out of the syllabus.

The UK higher education system is a mess. Its designed to only work
financially with a ridiculous amount of students flowing through it. You can't
maintain that volume and also maintain the quality out the other end.

My PhD was the same. I honestly believe that the minimum quality of what I had
to produce what much lower than it would have been a decade ago. PhDs are the
new masters and masters are the new degrees.

Knowing people that teach in the most prestigious universities in the UK, I
also know that this issue affects all universities in the UK.

------
rajat
What I can say, from personal experience, is that the last time I interviewed
college students for a programming job (this was five years ago), we had quite
a few applicants, but only one that had done anything on their own with their
personal computer other than play games.

It was startling. Only one had taken any initiative to write a single program
that was not assigned homework. But, they could tell me quite a bit of details
about the games they had played. Sad.

------
twymer
Personally I don't think a student who knows only C++ because he was force to
use it in school is going to be much (or any) better than a student who knows
only Java for that reason. The problem isn't that the language is Java, the
problem is that it's a student who never cared enough to learn something else
than what was expected she learn and use for classes. I am, however, quite
shocked that operating systems classes are being taught in Java. At my
university few classes actually required C++ (usually you could use it or
Java) and the OS class was certainly one of them.

His concern that students don't have to take hard classes is pretty valid
though. If the curriculum changes he described are really that bad I think
that is tragic.

~~~
nlawalker
The thing about Java is that it's a managed language with little insight into
lower-level concepts. This isn't a problem in itself, but when students
indicate that they only ever learned Java and that they like it because it's
easy, it's usually an indicator that they have no idea what's going on behind
the curtain. In my experience, these kinds of students are very reliant on
tools that provide a garden path to walk down, become very confused the second
that something appears to stop working right, and they tend to approach
problems with a very "code-first" mindset - given a problem, they will sit in
front of a screen and think that if they can just find the right code to type
in, the problem will be solved.

A student in a C++ class at least has a chance at being exposed to something
lower level.

~~~
jonhendry
"A student in a C++ class at least has a chance at being exposed to something
lower level."

True, but the risk of using C++ in other CS classes is that they'll spend most
of their time fighting C++, and not focus on whatever the class is supposed to
be teaching. And the instructor/professor may be wasting a lot of time doing
C++ tech support, rather than teaching compiler concepts, or whatever.

------
jswinghammer
People complaining about the quality of college graduates is nothing new. Most
of the people in my computer science classes didn't care about programming at
all. Only the people who were naturally very good at it seemed to care much. I
recall complaining a lot about the quality of applicants from pretty much day
one of my professional programming career.

When I was younger I got a lot out of reading:
<http://www.ericsink.com/Career_Calculus.html>. As someone who isn't naturally
the best programmer this helped me put a lot of things to perspective. I'd
imagine anyone starting out would be well served by following his advice.

These days I try to spend at least some time every night trying to improve my
skills in some tangible way (e.g. reading a book, writing code for a side
project, etc.). If you're having trouble finding a job you like just spend as
much time as possible learning and you'll do just fine.

------
jefffoster
The author is a headhunter and wrote a great guide to getting a quant job
(www.ieor.columbia.edu/pdf-files/Paul_Dominic.pdf [PDF]). I guess that skews
his perspective a bit in what he's looking for (numerical algorithms and C++).
I'm guessing the situation isn't that bad for companies looking for plain old
Java programmers. Finding graduates experienced with C++ and numerical
algorithms is substantially harder!

~~~
ig1
Agreed, Dominic is held in high-respect in the city and rightly so, but his
core expertise isn't in graduate recruitment and it's shows here.

If you want to hire for low level understanding go to universities like
Cambridge, Warwick, Bristol, Imperial, York. Look at Aero Engineers and
Physicists as well as CS students.

Kings College has maybe a third or forth tier CS department, it's not
surprising he's not finding great candidates from there. It also seems like
he's relying on the mainstream recruitment boards, most talented graduate
developers don't even look there. Most are recruited either through university
events or dedicated graduate recruitment boards.

Also there's a reason it's hard to find talented graduate developers willing
to do VBA, because money isn't everything. Sure you might make an extra
thousand pounds a year doing it, but that doesn't make worthwhile to do a job
you hate. Most talented developers would rather get a job that pays less and
is enjoyable.

~~~
andrewingram
I went to Warwick (graduated with a CS MEng in 2006) and I would really
hesitate to give preference to someone just because they have a degree from
there.

Admittedly I didn't really take advantage of what was available, but my
interest is basically in building cool things during my day job. I don't
really code for fun and I'm not particularly interesting in computer science
theory except where I need it to make my work better.

I've managed to do pretty well because I can balance above average programming
skills with a fairly good sense of user interface and design. But ask me about
compiler design or operating systems and you'll just get a blank look.

I suppose my point is that I'm okay, but nothing exceptional and I don't have
any real interest in the low levels of computer science. So to hold me in high
regard just because I have a Masters from a top university is a massive
mistake in my opinion. Heck, if I'd done more than just the coursework and a
day's worth of revision per subject (I was also skipping about 3/4 of all
lectures), my high 2.1 would have been a 1st fairly easily.

Apologies for the rant, and my experiences at Warwick may be out of date now
and may be untrue of the other institutes you've mentioned.

~~~
NickPollard
I don't think University works as a blanket indicator, but it definitely can
help. At least at Bristol (my alma mater), the students are highly exposed to
low level technical detail, with assignments including processor design,
building an assembler, and in the final year, writing a kernel for a multi-
processing OS (the hardest thing I've ever tried). They have courses on
algorithms, computational complexity and a good mathematics unit too. Plus
they teach C, Haskell and Java in the first year to give a good spread of
different paradigms, and then expect students to go out and learn any other
languages as appropriate for whatever they're working on at the time.

I have my own issues with my time there, but for giving a good, detailed, low-
level understanding of computing, I can't fault them.

~~~
andrewingram
That stuff all sounds more difficult than anything I was taught at Warwick,
sounds like a good course (though not necessarily one I would have chosen :)).

------
preek

      If CS grads were smarter, they’d see this as an 
      opportunity, because MS is still a vast percentage 
      of all corporate IT. Yes, VBA is the worst language 
      in the history of the world, but you can get good money 
      doing it, and a good programmer knows that it is how 
      you think, not the language you code in, that determines 
      your ability.
    

I honestly couldn't read any further. Money definitely is not the only factor
to consider when searching for a job. I won't elaborate, but the important
things in life should be obvious to a so called "hacker".

Maybe it's the most important factor when searching for a first job. But as
soon as your rent is covered: Search for a job that does not kill your spirits
and cripples you from inside out.

Quantity has never been the best argument for anything I can think of right
now.

~~~
nickik
i would rather get half the money and work fulltime then doing VBA as a Job
(i'm not just saying that, i have a VB job atm (for a other year))

------
lgeek
I'm a second year CS student and probably not a typical example, but I've
found University education fairly comprehensive and useful. I have been
programming and fooling around with robotics and such through high school, so
I guess I knew a lot more stuff than most of my classmates. This is probably
reflected by the 20%-30% or so (my approximation) drop rate after first year.

Anyway, in my first year we've studied different layers of a computing system:

* Computer Engineering - and implemented [MU0](<http://www.cs.man.ac.uk/~pjj/cs1001/arch/node1.html>) on an FPGA

* Architecture - general principles and ARM ASM

* OO programming - theory and a lot of Java

* Computation - finite state automata, regexp, a bit about complexity

* Math

Plus some more specialized course units:

* AI

* Distributed Systems

* Team project - which was mostly about team work, but some web apps stuff too

In the second year there are a lot more specialized units:

* Algorithms (implemented in C)

* Operating systems (just pen and paper for the first 2 labs, boring for now)

* Databases (SQL)

* Machine learning (labs with Matlab)

* Networks (Wireshark FTW)

* Microcontrollers (with real dev boards - ARM + FPGA)

* Architecture (again)

* CGI

* Distributed systems (again)

* Mobile systems (seems to be mostly about radio comm and codecs)

I mean, really, you have to be an idiot to blag your way through all of these
and not learn anything useful for potential employers. It is true that it
probably helps a lot if you have some previous knowledge and/or do independent
work as the learning curve is steep. But if you can't do it, maybe you should
be studying something else.

The geek culture is visible both among students and staff, but to be honest
it's clearly a minority.

BTW, this is CS @ Manchester Uni.

And a WTF moment, because not everything's this good: We've had a "careers
workshop" and then we had to submit a CV and cover letter to get marked on and
receive feedback. I've submitted the ones that landed me an internship this
summer and I've been failed (this probably means I need to resubmit a
corporate-looking one).

~~~
djb_hackernews
THIS! Don't ever forget you are there to learn the computing topic and not the
technology used to teach it.

------
powrtoch
The largest problem I noticed in college was students' attitude toward
learning the material. In high school, I think the vast majority of people
attack the curriculum from a "memorize and regurgitate" standpoint. In a lot
of ways I can't blame them, but once a student hits college and begins
training in their field, this has got to stop. Especially in the sciences.

I confess, it took me a little while to figure this out myself. But if I could
go back and tell myself one (academics related) thing before starting college,
it would be "No really. _Knowledge is power_. Stop passively accepting it and
start ferociously acquiring it".

The students who understand this from day one will be the successful ones. The
trick is finding a way to get it across to the rest of them.

~~~
megamark16
I'd go back and tell myself "Apply apply apply!" Seriously, if something
doesn't make sense, find a way to put it in a context that you understand! My
biggest challenge in school was just figuring out how to apply the things I
was learning to myself and my own problems. Once I actually started using some
of the stuff I was learning to further my personal projects it was like
stepping on an express train, I made so much more progress, and did so much
faster than when I was simply trying to memorize what I was being told.

Also, I'd tell myself not to miss that date with that cute blond. "Dude,
you're going to marry her someday and she'll never let you forget that you
stood her up on your second date."

------
ohyes
"A CompSci grad is supposed to be able to do difficult things that arts grads
simply can’t understand."

/rant/

The majority of CS education that I've had so far has been theoretical. There
has been a lot of math and pseudo code, and logic. Programming rarely comes
into it, and when it does, it is (generally) trivial (and it is OK if you get
it partially wrong).

Compare this to my undergraduate in philosophy, where I was generally writing
at minimum 30 pages per class per semester in term papers, regular writing
assignments, and thousands of pages of reading.

There is no question to me that the undergraduate philosophy degree was more
challenging. (this is solely based on my experience, I do not mean to indicate
it reflects all experiences with all MS CS/ BA PHIL experiences.)

In the philosophy degree, I learned theory and wrote (and I wrote a lot). And
sometimes my papers came back with lots of red ink. I took my lumps and
rewrote them.

In the CS degree I regurgitate facts, and write the occasional Java program.
(Normally from a 'starter' program).

There is no question to me that an ideal CS degree would be as programming
intensive as an arts degree is writing intensive. Programming assignments for
each class, and producing a substantial piece of work by the end of the class.
You know, demonstrating knowledge.

~~~
city41
> The majority of CS education that I've had so far has been theoretical.
> There has been a lot of math and pseudo code, and logic. Programming rarely
> comes into it, and when it does, it is (generally) trivial (and it is OK if
> you get it partially wrong).

Here's my beef with this. It's programming. It involves a computer and perhaps
an internet connection. Anyone, for essentially no money at all, can sit in
the comfort of their own room and start writing programs. There's simply no
excuse for students to not be doing this.

It's not like a photography student who needs access to a dark room, or a
chemistry student that needs an expensive lab, or whatever other types of
careers out there that involve lots of expensive equipment. We're talking
$1000 that just about every single college student has already spent.

When I was in college I read SICP for the heck of it and in my discrete math
class where the professor declared we could do our assignments in any language
we wanted, I did them in Scheme. I also wrote a Sega Master System emulator, a
game engine, a paint program and countless other things. I'm not trying to
brag because when it comes down to it I consider myself a pretty average
programmer. But it's not at all hard for a student to do this.

When I am interviewing college grads I can smell the ones who just scraped by
on their classes and didn't explore the field on their own at all a mile away.
They always have and always will get a firm "no" from me, there's just no
excuse in this field to not take the initiative to learn on your own.

~~~
ohyes
Sure, I totally agree.

I was mostly self taught in programming before starting the advanced degree.

There isn't any teaching instruction with regard to the actual 'doing' of
programming. The article states that CS majors should be able to 'do' things
that arts majors can't do. Mostly, they can think about things that arts
majors haven't learned about.

But imagine if you are an English major. You want to be a great writer. Sure,
you will be writing outside of class. But also, you will be writing a inside
of class. Maybe an art major painting would be a better example, but the
analogy stands; you should have rigorous practice in addition to the stuff
that you do for the major, which should be fairly intensive in and of itself.

I don't see programming being treated seriously as a craft in CS. It seems
like something that Professors get research assistants to do for them. (In
fact, I'm pretty sure a lot of professors wouldn't know a good program if it
smacked them in the face).

It is in this way much different from other college level disciplines, where
the graduates are supposed to have gained some sort of skill. (liberal arts
majors should know how to write, painters should paint, physicists and
chemists, etc).

------
endtime
> bog standard languages like SQL, VB, Perl, et al

Sorry grandpa, but the smart kids these days aren't learning those (with the
possible exception of SQL). Look for people with experience with Python, Ruby,
Haskell, etc...not freaking VB.

~~~
gaius
_No-one_ wants to hire someone who won't work in a language they see as
"beneath" them. The author even goes onto mention F#[1] and CUDA in the next
sentence as examples of what he considers cutting edge.

[1] A major project of Simon Peyton-Jones, who in his spare time is a leading
light in the Haskell community

~~~
endtime
I'm not saying that VB is beneath me, I'm just saying it's ridiculous to
expect fresh grads to have experience with it.

~~~
gaius
I'm not so sure. I mean, I picked up Tcl/Tk at college not because it was ever
taught in any course, but because I needed to make GUIs for my own code on AIX
(rather than generating a .ps graph on the command line, printing it and
looking at it on hardcopy!). It's entirely feasible that an undergrad at a
Windows institution would pick up VB on the side.

~~~
endtime
There's a difference between "it's reasonable to expect fresh grads to know X"
and "there might be a few fresh grads who happen to know X".

------
epo
I did my CS degree a long time ago in the UK. I did a 'sandwich degree', 2
years at college, a year working for an employer and a year back at college.
Everything, and I mean _everything_ , of lasting value I learned in that time
was learnt during the industrial training year. Things like seeing projects
through to the end, being accountable, getting it right whatever it took,
knowing how to figure things out for yourself, doing what was asked for and
not what I felt like doing.

Employers want people who get things done with the least supervision. Java is
becoming this generation's BASIC, it bestows the illusion of knowing stuff
without having undergone the sheer hard grind of becoming usefully experienced
and battle hardened. Knowing Java is merely the beginning and, as is becoming
clear, not even a terribly useful beginning at that.

------
crs
I don't think "ethics" is a trash course. At Texas A&M CS is in the College of
Engineering. Engineering Ethics is a required course to graduate. One of the
major points was using the Challenger disaster as an example case, hammering
home the importance of doing whats right, not want management pressures you to
do.

Furthermore, anyone with a CS Degree should be able to teach themselves new
languages without any problems. When I see people complaining saying that
"their school is not teaching them language X" I cringe. Universities are not
vocational training, you are supposed to be able to handle independent study.

~~~
nuclear_eclipse
Also taught at RIT for all engineers, comp sci, and software engineer
students, including content on Chernobyl, Bhopal, Challenger, Three Mile
Island, and Tenerife.

------
olalonde
I definitely agree with some teachers being totally clueless. _Some_ of them
seem to have absolutely no experience nor interest in the industry. To
illustrate, I am currently enrolled in a User Interface class and one of our
main reference is this website from the 90s:
[http://www.usask.ca/education/coursework/skaalid/theory/theo...](http://www.usask.ca/education/coursework/skaalid/theory/theory.htm).
Ok, some principles never change but come on, how do you expect us to take
this seriously when most of us could design better websites at 12 years old.

------
delackner
I remember on an initial phone interview about 7-8 years ago at a job, first
the owner apologized for asking such a stupid question, then asked "what is a
pointer?" After hearing an acceptable answer, he said that you wouldn't
believe how many supposed CS graduates couldn't even answer.

~~~
xxpor
My boss at my current co-op was interviewing people for next semester. He said
one of the students, who had supposedly taken Operating Systems, couldn't tell
him the difference between a thread and a process.

/facepalm

------
privacyguru
Based on a recent salary guide/study, in the US, those graduating with a focus
on it security may have a better chance of gaining employment upon graduation
do to demand for networking/security talent. [http://www.securityweek.com/it-
salary-guide-shows-increase-s...](http://www.securityweek.com/it-salary-guide-
shows-increase-salaries-it-security-professionals)

------
acgourley
I know if I were a BigCo I'd launch a program to sponsor programming contests
/ projects in universities.

Toy robotics challenges, programming puzzle teams, AI contests, whatever. This
would a) give me mindshare and contact with the students who actually get
stuff done outside of coursework b) help give these students useful
experience. c) be relatively cheap.

~~~
ig1
They do, often through places like TopCoder, but it's a very expensive way to
recruit (not because of prizes but in terms of the amount of employee time
taken to run these things and the risk of it not paying off).

The average BigCo already spends in the region of 10-20k per candidate hired,
running a graduate recruitment campaigns is an expensive business, so return
on investment is an important factor.

------
garply
He mentions a lack of engineers well-versed in MS products. Is there good
money to be made in doing consulting using MS tech?

~~~
albemuth
I refer to them as Sharepoint salesmen.

------
rythie
A CompSci degree is not the _only_ thing you need for career in I.T. It's not
a vocational degree like medicine is.

------
eof
I am surprised there is a problem with CS grads not finding jobs. Granted, I
am in VT, but we can't fill programmer positions for anything here; though, I
wouldn't hire a Java-only recent CS grad unless s/he could find a way to
really show they were fantastic problem solvers. (as we don't do Java or much
OO in general)

~~~
pavel_lishin
Maybe it's different in the UK, but a huge percentage of my graduating
classmates couldn't write code to save their life. There are people who are
bad at their job in most fields, but maybe CS is just easier to bullshit
through.

~~~
charlesdm
It's the same here in Belgium. I'm a dropout but some of my friends are
currently getting their CS degree and the majority of them couldn't write
code, even if their life depended on it. They see it more as a job then
something they like doing.

When I was still attending school I also noticed that the majority of the
people really didn't care; it was just a small percentage of the group that
loved CS & programming. But I guess that is something you see everywhere in
life.

~~~
pavel_lishin
> They see it more as a job then something they like doing.

I still don't see why this is a bad thing. A plumber who didn't grow up
dreaming of pipe repair can still fix things. You don't have to love a job to
at least be _minimally competent_ at it.

Just because they don't love their jobs is no excuse to be unable to do it.
But I guess they're unemployed, so the problem fixes itself :)

~~~
eof
No, I think it's different. Programming is _so much harder_ than plumbing from
an intellectual standpoint that there is a strong correlation between people
who enjoy programming (and thus do it in their free time, and strive to excel
at it) and people who are competent programmers.

You could probably spend two weeks with a good plumber, having never picked up
a wrench in your life, and with the right tools be able to do 98% of the work
a plumber ever needs to do.

Take someone who has never used a computer and put them next to the greatest
programmer and teacher ever, and that person will probably be able to do ~2%
of the work a typical programmer will ever need to do.

Since the _intellectual barrier to entry_ is so high, hobbyists are likely the
only ones to do it well, as it just takes so much of the brain power of
someone to be able to be a good programmer. So someone who isn't using all of
that brain power, or a significant portion of it, thinking about coding is
simply just not going to be able to compete with someone who is.

Compare that to a plumber and I think your analogy falls a part.

