3 ms·
Probably given very controlled circumstances of a language they were really familiar with, they could have written something. But they took my programming test
by SomeCallMeTim 13y ago
Probably given very controlled circumstances of a language they were really familiar with, they could have written something.
But they took my programming test and got a big fat ZERO on it. Some of the questions were very open-ended ("What do you NOT like about your favorite programming language?"), and I didn't even know they HAD a wrong answer until these two recent grads took the test, but they were very creative. ("I can't think of anything.")
The only code I actually asked them to write was in a very simplified language that was completely defined ON the test. They only needed to know IN GENERAL how programming languages worked. And I'm not talking about picky syntax problems, but a lack of even an attempt to write the code.
FWIW, the people I hired tended to completely ace the test. The one time that I ignored the results of the test because the guy talked well and seemed otherwise like a good fit, it turned out he couldn't do anything we'd asked him. There didn't seem to be many in the middle: Either they really got it and could ace the test, or they really didn't and they'd bomb badly.
This isn't news; haven't you heard of the Fizz/Bang problem? [1]
[1] http://www.codinghorror.com/blog/2007/02/why-cant-programmers-program.html http://www.codinghorror.com/blog/2007/02/why-cant-programmer...
- anovikov 13y agoReally curious, may i have a look at the test? I was hiring people for almost all of my career (on my first job, my first boos quickly realized i was too good to just let me type code) and i know things are really bad, but not as bad as you put it... Maybe your test is too hard?
- SomeCallMeTim 13y agoMy test is obsolete, AND is likely designed to get a different kind (class?) of programmer than you need (statistically speaking; I have no idea what you do). At the time I was doing video game development. I still am, but WHAT you need to know as a game developer is different now than it was then. For instance, I still wanted people to know SOME assembly language concepts (and Berkeley EECS grads were required to take an assembly language course, so that wasn't unreasonable). Game development is still harder than most kinds of software development ("most" defined in terms of number of people who practice each kind), but the specific knowledge required has changed a lot. There are probably awesome developers today who have never tried to code a line of assembly language. This fact makes me sad, actually, because I feel that my grounding in assembly language gives me a perspective on WHAT the computer is actually doing that developers who have never seen a language lower-level than C can't really have. And I feel it's a healthy perspective to have. But I'm not filtering out applicants based on whether they know assembly language. At least not any more. Seriously, though, one of the questions was "What do you not like about your favorite programming language?" At the time the question may have been "What do you not like about C/C++?"; I can't remember when I changed it. This is a question that is designed to gauge what programming concepts the developer in question is challenged by, or what corners of the language they have trouble with. If they answer "Pointers give me trouble!", then they're too green, but if they answer "overloaded template and normal function selection priorities in C++ are too hard to remember," then I know they've been doing relatively complex things with the language. So it's a question designed to give me a glimpse of their current skill and expertise; none of the answers I imagined people would say are "wrong," even though some might make me not want to hire them. But to answer "I can't think of anything wrong" showed such an amazing lack of imagination (or fear of revealing the above) that it was the only time that I felt they'd managed to give a "wrong" answer to the question. If you can't come up with anything wrong with a programming language that you are saying you're skilled in, then you're not sufficiently analytically minded to work in games. Or at least not in a small indie studio where everyone needs to be awesome at something.