July 08, 2008

Both Sides Of The Story

The press have recently published many stories about British Universities not equipping gaming graduates with the right skills for careers in the gaming industry. For example, according to the industry campaign group "Games Up?", there are only 4 courses accredited by Skillset, the government body which monitors such courss, out of a total of 81. At the same time, we often hear that the industry is facing a problem finding suitably qualified graduates to work for them.

But there is another side to the story.I discovered an article by Cliff Harris (Positech Games) recently which argues that one reason for staff shortages is that companies fail to take the necessary steps to look after their present staff which results in huge staff turnovers. Since experienced programmers are the hardest to find, here are some of the points he makes with them in mind:


If the experienced people didn’t leave, you wouldn’t need the graduates!
It’s sad the way many games companies work. They deal with horribly high staff turnover as a matter of course. Staff turnover is a devestating problem for a knowledge based business. A new coder probably achieves nothing of any real value for the first few weeks, little for a month or two, and is probably only really working as a games coder by the end of their first year. To become really experienced at the practice (not theory) of games development takes at least 3 years. By then he (almost always a ‘he’ sadly) is sick of his job and often keen to leave, and so the company promotes everyone and hires a new graduate. Staff turnover is always bad, but for programmers it’s unusually damaging. It’s easier to find your own bugs than the last guys bugs, especially if the last guy isn’t here to ask him what the hell he was thinking when he wrote that stuff. If your company doesn’t adhere to coding standards, it’s even worse. Pay the experienced devs more. They are worth more. they can find the bugs the others can’t. their code is better, faster, more stable. Don’t worry if some coders earn treble what others earn, this is very often justified.

Give them a decent working environment.
They stare at monitors a lot so if they need ones that cost $1,000, then that’s what they need. Deal with it. It’s worth it. Ditto chairs. Same for PC’s : AAA games take ages to compile. if you don’t want to pay coders to sit and eat donuts while the code compiles, buy them the fastest PC’s you can get. This will "save" money.

Make everyone go home at 6PM.
Abolish the stupidity of the long-hours culture. If you can’t concentrate on emails after 8 hours, what makes you think that a programmer can write decent C++ code without bugs after that many hours in a day. Less tired coders = less bugs = faster dev time, and happier developers.

Train the devs.
If they want half a dozen C++ book on expenses, let them have them. It’s trivial in cost terms in terms of increased productivity. Most coders want to learn. so support them.
Either give developers individual offices, let them work from home, or get everyone noise cancelling headphones. Maybe 1 in 10 programmers can work well in a busy noisy office, but the other 9 will be working less efficiently than they would be in a quiet office, and getting annoyed about it .