Recientemente tuve una entrevista telefónica con una empresa. Después de esa entrevista telefónica, me dijeron que completara una breve tarea de programación (un programa pequeño; no debería tomar más de tres horas).
Procedería con precaución. Evalúe la relevancia del desafío para el trabajo y asegúrese de que el reembolso futuro del empleador hará que valgan la pena 3 horas de su tiempo.
Cuestiono el valor de este tipo de pruebas y prefiero juzgar a alguien por sus logros pasados. Una tarea corta predefinida no puede decirle al empleador nada sobre lo que puede hacer. Solo lo que no puede hacer, y eso se puede determinar rápidamente con algunas preguntas por teléfono.
Las pruebas tienen su lugar. Hágase las siguientes preguntas sobre el examen y responda en consecuencia.
- ¿El examen es justo dado su nivel de carrera actual?
- ¿La prueba tiene una respuesta correcta claramente definida?
- ¿El entrevistador tiene interés en su potencial como persona o está mostrando más interés en los resultados de la prueba (es decir, las agencias de contratación son terribles para esto).
- ¿La prueba representa el tipo de trabajo que le gustaría hacer o es una verificación de habilidades ambigua (es decir, prueba si conoce la sintaxis de Java).
Solo se me indica directamente que complete la tarea y entregue el código.
Acabas de responder tu propia pregunta.
Inmediatamente planeé lanzarlo en Github, escribir un conjunto de pruebas para él, usar Travis-CI (integración continua y gratuita para repositorios públicos de Github) para ejecutar los conjuntos de pruebas y usar CMake para construir los makefiles de Linux para Travis-CI.
No, eso no es lo que te pidieron que hicieras.
De esa manera, no solo puedo demostrar que entiendo cómo usar Git, CMake, Travis-CI y cómo escribir pruebas, sino que también puedo simplemente vincularme a la página de Travis-CI para que puedan ver el resultado de las pruebas. Supuse que eso sería un poco más conveniente para el entrevistador.
Tendría cuidado en demostrar habilidades demasiado pronto o demasiado tarde en el proceso de la entrevista. Si siente que no le fue bien en la entrevista y ahora está tratando de compensar, entonces no va a funcionar. Por otro lado, hacer demasiado cuando no se le pide demasiado demuestra demasiado entusiasmo. Esto podría hacer que el empleador contrarrestara con una oferta de salario más baja de lo que esperaba.
Sin embargo, estoy un poco preocupado de que hacer todo esto para una tarea relativamente simple se vea mal.
Sí, se ve mal. Resolver su desafío con una línea de código será mucho más impresionante que un proyecto completo.
Desde mi experiencia, esta no es la forma de ganar la entrevista de trabajo, pero es una forma de perder el trabajo. La prueba de código es un problema de control de calidad. Todas las empresas que usan pruebas de código cuando contratan personas lo hacen, porque anteriormente no usaban pruebas de código. Tuvieron una mala experiencia de alguien deslizándose por las grietas del proceso de la entrevista que no debería haberlo hecho.
Tomarán su código fuente y lo pasarán por la oficina. La gente comentará al respecto, y lo que no quiere que digan es "¿Cometió este error? Pero pasó tiempo usando Git, CMake y Travis-CI. Qué idiota por perderse este error".
Eso es. Has perdido.
Quieren saber que puedes codificar, porque no pueden enseñarte eso. Git, CMake y Travis-CI se pueden enseñar fácilmente.