Re:Codility - Automated tests of programming skills
by cf2000 on Friday January 08, 2010 @07:02PM
(#1040754)
I think this is cute but I would think hard about the kinds of questions you develop for this. Coming from the perspective of someone working for a big company with a ton of software people that is not a tech company, I could use something like this in general. But, the question you asked is the kind of thing I ask CS undergrads (almost exactly, in fact) because it allows for clever solutions without actually requiring someone to be a particularly good programmer. I can work through it with them and if the basic solution is easy, prompt them to give me something more clever, so I know how they think, which is good when you're looking at an inexperienced developer. However, for an experienced developer that I want to hire to churn out Java code, the difference to me between a correct but simple O(n^2) solution vs a clever O(n) is not terribly meaningful for determining whether they can actually do what I want them to do. I want something that requires people to write more than a handful of lines and demonstrates an ability to keep track of a few more variables correctly, and honestly I don't care all that much about their algorithmic complexity (although I might care a great deal about their space usage, usage of external resources, etc).
So, if this is the audience you are looking to attract, consider thinking about this as a screening tool for people outside of the startup world that actually need "knows how to really do shit in language X" more than "knows how to write clever algorithm,"
[ Parent
| on HN ]
Re:Codility - Automated tests of programming skills
by jakacki on Monday January 11, 2010 @04:36PM
(#1046088)
I don't think Codility checks whether one knows how to write clever algorithm. Look at tasks from ACM Collegiate Programming Competitions, they require clever algorithms. Codility deliberately focuses on very fundamental tasks. Also it does not pretend to be a final sign-off, it merely tells you which candidates to reject due to lack of rudimentary programming skills. It's not that surgeons make injections that often in their daily practice, yet I would not trust a surgeon who doesn't know how to make an injection.
Re:Codility - Automated tests of programming skills
by charger on Thursday February 11, 2010 @11:55PM
(#1119811)
I like this comment.
A typical surgeon earns a bachelors degree, then attends medical school, before finally spending three to six years in a residency program (in the United States). This is before becoming a practicing surgeon.
Unfortunately, there is nothing similar (in the United States) that is related to software engineering -- though many here would like to see something similar to an engineering license for technology professionals; there is nothing currently on the horizon (that I know of).
In some ways, I think that Codility can help with this state of affairs. This is particularly interesting when we consider comparing metrics for education and experience; and perhaps 'real-world' success.
The Codility statistical comparison, taking these factors into account, would be very interesting indeed. And could possibly result in data that furthers the state of the art in general.
Re:Codility - Automated tests of programming skills
by ununoctio on Sunday March 21, 2010 @05:00AM
(#1207723)
{In Pascal Language+Assembly}
{$ASMMODE INTEL}
function equi (A : Array of longint; n : longint ) : longint;
var c:Longint;
label noOverflow1;
label noOverflow2;
label ciclo;
label fine;
label Over;
label tot;
Begin
Asm
DEC n
JS over
XOR ECX, ECX {Somma1}
XOR EDI, EDI {Somma2}
XOR EAX, EAX
MOV c, EDI
MOV ESI, n
tot:
MOV EDX, A
MOV EDX, [EDX+ESI*4]
PUSH EDX
ADD ECX, EDX
JNO nooverflow1
ADD c, ECX
nooverflow1:
DEC ESI
JNS tot;
SUB ECX, c
SUB EDI, c
ciclo:
POP EDX
SUB ECX, EDX
CMP ECX, EDI
JE fine
ADD EDI, EDX
JNO nooverflow2
DEC EDI
nooverflow2:
CMP EAX, n
JA over
INC EAX
JMP ciclo
over:
MOV EAX, -1
fine:
end;
End;