RE: what you look for in a coder...

"Nick Trout" <[email protected]>
Newsgroups gmane.games.devel.general
Message-ID <911F8C8EB7A8084AAEDD55CEDC54D8F881FDA3@iggy.rockstarvancouver.com>
> 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. 

* 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. 

Nick





-------------------------------------------------------
This SF.Net email is sponsored by: GNOME Foundation
Hackers Unite!  GUADEC: The world's #1 Open Source Desktop Event.
GNOME Users and Developers European Conference, 28-30th June in Norway
http://2004/guadec.org
_______________________________________________
Gamedevlists-general mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gamedevlists-general
Archives:
http://sourceforge.net/mailarchive/forum.php?forum_idU7
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.