Al contratar desarrolladores de software, una técnica común para evaluar su aptitud es el “desafío de programación”. Estos vienen en una variedad de formas, pero todos generalmente implican un ejemplo por etapas donde el candidato tiene la tarea de resolver algún tipo de tarea donde existen múltiples soluciones. A continuación, se califica al candidato (en ningún orden en particular) sobre su capacidad para: