RE: [GD-General] what you look for in a coder...
Brought to you by:
vexxed72
From: Nick T. <ni...@ro...> - 2004-06-07 21:57:51
|
> On Behalf Of Richard Fabian > I've just been elevated to tech lead, and as a small company, we need > good guys first time round (can't waste ages finding out people aren't > up to the job), so my question is: what do you guys consider important > when hiring a coder? That's an interesting question and I like the replies so far. Sometimes you just click with someone and you know they would be a good bet. A lot of what you are looking for is categorised as experience, but to dissect this, I think I look for: * Good understanding of language syntax and features. If you don't understand the language you are programming in, how can you define precisely what you want to do, schedule, find problems and refine. Years of C++ experience doesn't necessarily mean someone is good at OO or design, which after all are the reasons for those features. * Vertical knowledge. Do you know your stuff from high level to hardware? Often you need to design with performance in mind or fix hardware abstractions. * Understanding of the process of making games. You don't have to be a lead but knowing why a project was successful or failed is important. Projects rarely succeed just because a team wrote kick ass code. Even newbies from college have worked on team projects and should have an idea of what dynamics can cause success and failure. * Versatility (horizontal knowledge). Programmers rarely stick to one job for the duration of a project. The greater understanding you have of the whole, the better you have of the parts. * Communication skills. Can you explain things in clear, concise manner? Can you expand on a point? Do you have *insight*? In the event that you don't know something, do you admit it and say how you'd go about finding a solution, or do you start making one up (unconvincingly!)? * People that have the personality skills to fit into a team. This relies equally on the project management team not creating a hostile environment. People having hobbies outside the work environment is a good thing and should be encouraged as is makes people more rounded and not so bitter about work. Staring at code 24-7 is not good for the soul. Being able to escape leads to fresh ideas.=20 * Disciplined, focussed, enthusiasm. There's a certain level of pathological commitment, enthusiasm and determination that makes a good game developer (N.B. not just programmers). The ability to commit when necessary, innovate and be self reliant, but in a disciplined manner. People who write their own rules cause problems. * Humility is an important human quality to avoid prima donnas. * Sense of humour! When the shit hits the fan... :) * An interest in Star Trek. Must at least know Jim's middle name. I'm certainly don't know everything (reading GD-algorithms confirms this!!), but I don't have to know everything if we have our bases covered on our teams. So you're looking for people that fill the gaps and make you feel confident. You must have a clear picture in your mind of the hole this person is going to fill in the team (just like if you were going to buy a player for a soccer team!). I think an important point is that more than one person interview a candidate, including different disciplines, e.g. a producer and a programmer, and maybe even an artist or designer. Also, do a programming test of some form. Sometimes you end up in the grey zone, where you don't get a strong feeling either way. Often candidates are nervous and not quite themselves (offer them a belt of scotch! ;-D). Discussing the candidate and studying their test after the interview generally swings your decision one way or the other.=20 Nick |