Showing posts with label fizz buzz. Show all posts
Showing posts with label fizz buzz. Show all posts

Monday, 19 September 2011

Does a 2:1 in computing mean you can write a simple computer program?

As a business person and academic I have two positions of interest in graduates and their capability. At JMU we are always thinking about trying to balance what employers want, what students want to do and what we are able to teach. These things are not always in line of course. As an employer in Software Development I am looking for people with a demonstrable aptitude and broader long term promise.

At Village Software we recently advertised for a graduate trainee for £15k. We had about 50 applicants, of these we spoke to about a dozen, invited 6 to interview, of whom 4 attended. Two things to note here I’ll here consider the most shocking which is the question can you acquire a computing related 2:1 from XYZ University without being able to write a simple computer program, perhaps elsewhere I’ll consider the CV’s that don’t get you a phone call.

We set the interviewees the common and much discussed Fizz Buzz test. There was a frenzy sometime about 2007 about the fact that people applying for programming jobs couldn’t program. The thought was that this was some kind of zombie attack of qualified people without basic competence who were flooding the industry, we needed some way to tell the zombie programmers from the real thing. This coalesced about the fizz buzz test. A simple programming exercise along the lines of:-


Write a program that prints the numbers from 1 to 100. But for multiples of three print "Fizz" instead of the number and for the multiples of five print "Buzz". For numbers which are multiples of both three and five print "FizzBuzz".

Graduates failures to pass this test is much discussed for example "why cant programmers program", there are whole blog posts on how to write answers to this "Geek School Fizz Buzz". Making it surprising that none of our four candidates had heard of the problem.

We set a slight variant on the theme fearing, unnecessarily, that candidates might have heard of the problem and learnt a solution.

We asked other questions and had a whole stack of other things but this question was decisive. As an employer I look at peoples degree grade and subject and wonder what they tell me. There is a general question of whether a 2:1 from in a software subject is a guarantee that the student can write a simple computer program. I’m afraid the answer is that it isn’t, although 2 of our candidate did very well, so it is perhaps an indication of an at least 50/50 chance that a graduate can write a computer program.

This is bad for universities. The pressure from potential and actual students is to increase our ‘value add’ and enable them to get a 2:1 otherwise they might buy elsewhere and we’ll be out of business. But the business stakeholders want to see that degree awards represent some measure of useful competence in the chosen subject. A university that lets out a computer student with a 2:1 while unable to complete a simple program in any language of their choice is devaluing their credibility. Our evidence is anecdotal and certainly every student on a computer course certainly has the facility to learn to achieve this level of competence, so they only have themselves to blame.

Unless of course they didn’t have the aptitude in the first place in which case the University has failed to select suitable students for its course. Perhaps they should be doing this test on the way in. In fact why would someone unable to write a brief program such as this even start on a three or four year course of study in this field.

Later today I am trying out this test on some final year Liverpool University students (not represented in our interviews) looking to do a final year project with us, we shall see how they do. Hats off to Liverpool Hope by the way their candidate swept through the technical tests and is now sitting tapping away 10 yards away, saving the day for the home team we also had one John Moores candidate who pulled it off but alas there is evidence that you can get a 2:1 from John Moores without being able to do so.

Monday, 29 October 2007

Interviewing Graduates

On the interview trail. As people will know like superman I have 2 persona’s, by day the mild mannered information technology lecturer by night street wise software entrepreneur. In this later persona I have been interviewing for graduate programmers this last week. While the computer programmers I was recruiting for are more technically oriented than our students in the Information Strategy group it is perhaps informative for those of us trying to prepare our charges for the world of work.

I’ll describe what happened later but for those who don’t read so far the conclusions are that those who both showed a baseline of basic competence and a level of enthusiasm for the subject got the job. In whittling down the applicant we took some notice of degree (subject, university and class) but we certainly didn’t assume that just because someone had done a three-year course in software engineering they could write a tiny computer program. Once we had got candidates to show us a bit of their skills, it was enthusiasm for the subject that counted we don’t want people mopping around the office waiting for break time.

From this I conclude we need to help our students to develop skills that industry wants and to communicate our enthusiasm for the subject to them. If as lecturers we don’t have enthusiasm for our subject we need to go and regain that love of information systems.

For our work interviews half of all applicants applying for the job at www.villagesoftware.co.uk came from John Moores School of Computing and Mathematical Sciences. Half from other regional institutions. We had trimmed down from about 30 applicants to 12 for an initial phone sort and then invited 6 to interview of which 5 attended.

We focused on skills, knowledge and enthusiasm. The candidates were given a three page test. While observed and in discussion with a senior developer.

They had to produce a small computer program in a language of their choice based on the Fizz Buzz test, a test that says ‘ok write me a tiny piece of program’. Of the five graduate programmers who showed, one walked straight through this test no problem, 3 produced passable attempts after about 30 minutes and one failed to put anything credible together (John Moores Student I’m afraid).

They then went on to tackle an entity relationship diagram, for this I gave them a simplified version of the Lancashire Chemicals Operational Stock Control case study which I am currently haunting the 4th Year BIS students with in their Design of Enterprise IS course. None of them were great at this, 3 had a weak attempt and 2 had no concept of the technique. Interestingly we have recently come across ‘senior developers’ (those on about 30K) with similarly no real concept of database design.

Finally we presented one page of functional but poor computer program, written by my own fair hand, and asked the candidates what was wrong with it. They did better here, 4 of the 5 able to make at least some clear comment on quality failures but none left the impression that they really new the difference between industrial strength programming and hobby software development.

These ‘go on show me’ tests sorted the men out from the boys a bit (on this occasion all applicants were male). But we also interviewed them on a series of software development questions, which we had simplified from Coders at Work interview questions. One of the key differences this made was differentiating those who have an enthusiasm for the subject. Some candidates clearly came across as seeing their career as a software developer as an agreeable way to keep the wolf from the door while staying out of the rain, but showed no essential enthusiasm for the subject. As a manager I’d rather be containing peoples enthusiasm than flogging a dead horse.

It all makes me think that at the end of our courses we will offer our students a greater chance of happiness in life if we teach them skills that help them in the world of work but also inspire enthusiasm in the subject that will make working life interesting rather than a drag for wage slaves. Sometimes I feel this will involve some ‘tough love’.