Opinion: Why universities are training industry-ready graduates
Subscribe now for $100 (23 issues) and save more than 37% off the cover price!
Get the latest news from Computerworld delivered via email.
Sign up now
I sometimes hear that universities should be producing “industry-ready graduates”. I’d argue that we already do, but first I am going to apply a standard academic trick: redefine what “industry-ready” means.
Intuitively, industry-ready means able to work productively from day one, or in other words, creating more value for the company than the cost of salary. This is clearly an impossible goal to achieve since even experienced professionals need time to learn the foibles of any new workplace.
Once we relax the requirement of “productive from day one”, we are left with the goal of “productive in a short time frame”, and then we are left with the problem of defining what “short” means (week? month?).
However, in my view even this is the wrong yardstick for permanent positions. So what is the right yardstick? I think the same yardstick should be applied to all new hires regardless of whether they are graduates: “productive over their entire career at the company”.
Joel Spolsky has a great article about programmer productivity on his blog and he uses data from Professor Stanley Eisenstat’s third year class at Yale University.
The programming assignments are not easy (e.g. coding the LZW compression algorithm). If we only look at students with the top 25 percent of the marks, there is a 1.7 to 5.8 times productivity difference between the fastest and the slowest student.
If we look at all students, there is a 5 -17 times productivity difference. Keep in mind that this is Yale and we’re already talking about some of the smartest kids in the USA. But don’t think this applies just to students, numerous studies have found similar results for professional programmers and it is widely accepted as the 10X rule.
What does this have to do with industry-ready or graduate recruitment or recruitment in general?
Again, we come back to the notion of “productive from day one”. What I think people mean, in the context of programming, is that the candidate is an expert in “language x in environment y in application area z”.
This is what I see in the overwhelming majority of recruitment adverts (e.g. 3+ years experience programming C# on the .NET platform for banking applications). This is bone-headed recruitment exactly because of the 10X rule.
A good programmer is able to learn the basics of a new language in a couple of hours, become competent in a few days, and expert in a few weeks. Remember that a good programmer is 10 times more productive than a poor programmer, and five times more productive than an average programmer.
Even if it takes a month (20 working days) for the good programmer to learn the new environment (an overestimate), after two months (40 working days) they have already done as much work as a poor programmer who knows the exact environment working for 200 days, and as much work as an average programmer working for 100 days. Again, assuming 20 working days for the good programmer to get up to speed, the break even point compared to a poor programmer is 22.2 days and compared to an average programmer is 25 days.
Given these statistics, employers would be far better off trying to attract good programmers rather than just programmers with knowledge of the right language and environment. Of course, if you can get both, even better, but any advertisement needs to be carefully crafted so the good people are not put off.
What makes a good programmer? First, they have to love programming and probably program for fun as well as work. But they also: enjoy problem solving; enjoy learning new languages and concepts; and are independent and critical thinkers.
This is what I think “industry-ready” means. Coincidentally, these are exactly the sort of skills we teach at university.
How do you tell if someone is a good programmer? That’s a topic for another time.
Posted by Lindsay Addie at 15:52:18 on August 13, 2011
Universities don't create great programmers, to me they are naturally inclined, like other are naturally sportstars - their gift lye in certain areas.
a Uni bring them togetehr with like minded people, just like a sportsteam, where the practice and ply their trade...
But contrary to my own point are the hacker genius's like the kid in NZ a few years ago - his community was likely to be online.
Guess I am all over the show, which also goes to say "who gives a stuff" if these people like to work in dark rooms by themselves and have relationships via computers? They are often very nice people and we're al individuals, a good boss enables staff, not control them and force them to conform to popular notions.
Go the geeks, kick a$$ with the code and find your niche!
Viva la code monkeys!
Posted by Anonymous at 23:17:25 on August 2, 2011
Posted by Anonymous at 17:04:29 on August 2, 2011
Leave vocational training to the ITPs and ITOs, that has long been the purpose of technical training colleges.
Posted by Anonymous at 15:44:49 on August 2, 2011
I often wonder how often HR, especially IT recruitment firms, miss great talent because they appear insistent on previous industry experience in a particular language. Although I am not in the programming field, I specifically avoid any roles that insist on such a combination (even if I am qualified) since I do not want to work in an environment where either the employers or their recruitment company don't recognise this silly "BAU approach".
I also wonder if the reason why employers often want previous industry experience is less about the skill they seek and more about some assurance that the person they are about to hire has previously been hired and is therefore more likely to work out.
Posted by Anonymous at 13:38:42 on August 2, 2011
Posted by Anonymous at 11:41:16 on August 2, 2011
Posted by Anonymous at 12:33:13 on August 2, 2011
What the tertiary institutions can teach them is discipline.
Randy Pausch's Last Lecture and Al Pacino's half time speech from Any Given Sunday should be compulsory viewing.
Posted by hp at 11:40:01 on August 2, 2011
* knowledege in current technologies / languages
* ability to apply said knowledge to business issues
* ability to communicate ideas and concepts to various stakeholders
* ability to problem solve, have critical thinking
* ability to be innovative, creative
I see IT people in a similar role to engineers and architects. Highly skilled, innovative individuals. The problem is that they are percived as back-room boffins and perhaps need more public facing or leadership roles to dispell this.
I believe cirriculum may only address ome of the points above but perhaps faculties could be better at recruiting the right type of students and offer more courses that engage with the business community to develop software projects or to offer internships.
Posted by henareho at 10:55:30 on August 2, 2011
Posted by Steve at 14:18:17 on August 2, 2011