2009-11-11 15 views
8

Solicité recientemente un puesto de desarrollador y el director me pidió que enviara algunas muestras de código.Muestras de código para la entrevista

¿Cómo debo abordar esto? Una vez, envié una muestra del código que escribí para mí a una empresa y no volvieron. Esta vez, quiero estar preparado y enviar muestras apropiadas. Quiero saber qué debo enviarles, crear un sitio web/código de ejemplo y enviar un enlace junto con archivos de código, o crear un proyecto de muestra, o algún otro enfoque. No puedo enviar el código que he escrito para mi empleador anterior y actual, por lo que no estoy seguro de qué enviar. Pidieron C#, HTML, CSS, JS, SProcs, desencadenan muestras, así que pensé: sería agradable si creara un proyecto que incluyera todo lo anterior y se lo enviara, o debería enviar muestras individuales?

Respuesta

8

Ha respondido su propia pregunta. ¿Por qué no crear un proyecto que incluya todo lo anterior? Los juegos pequeños son divertidos de escribir y puedes demostrar mucho conocimiento creando uno. Los sitios web también son buenos si desea demostrar cosas como un buen diseño de IU y conocimiento dinámico de HTML y scripts.

Básicamente es su cartera para demostrar de lo que es capaz, así que aplique todo su conocimiento. Esto incluye no sólo lo que el programa hace sino también cómo lo hace - buena selección de algoritmos, la arquitectura de código, denominación adecuada de las variables y los comentarios correspondientes, etc.

Usted puede escribir código que es de tan alta calidad como lo que crearía para un empleador, más alta, de hecho, ya que tiene un control total sobre la metodología y los estándares utilizados. Instale uno de los sistemas de control de revisión gratuitos (git, mercurial, subversion, etc.), use bugzilla para rastrear sus errores y lista de tareas pendientes, y escriba un conjunto completo de pruebas unitarias. Produzca documentación profesional y capturas de pantalla de demostración.

Sí, eso es mucho trabajo. Pero puedo garantizarle que si tal proyecto cruzara mi escritorio de contratación, lo tendría en una entrevista en un minuto caliente.

+0

Si uno de esos proyectos cruzó mi escritorio de contratación, inmediatamente asumiría que era el trabajo de un plagiario, y no tenían la hora del día. Una advertencia, sin embargo; en el caso del software de código abierto, esto no se aplica, y este tipo de cosas justificaría una extensa revisión adicional. Junto con la verificación de que el candidato era el autor, por supuesto (pero ese tipo de cosas es más simple con el código abierto). –

+1

Crear un sitio web personal utilizando las habilidades que desea comercializar a posibles empleadores es un buen consejo. Luego, refiérase a su (s) posible (s) empleador (es) como referencia. También recomiendo concentrarse en hacer algunas cosas muy bien en lugar de mostrar todo lo que sabes. Puede demostrar fácilmente que no es un plagirista al alentar a los posibles empleadores a entrevistarlo sobre el diseño y los aspectos técnicos del sitio. – NealB

+0

@NealB: no es una mala idea, y estoy seguro de que funcionaría bien. Sin embargo, no creo que deba ser un requisito estricto. –

0

Tomaría algo en lo que ya trabajé, preferiblemente de tres niveles, incluyendo sprocs, etc., y excluiré cualquier cosa de naturaleza sensible. Si es algo que usted mismo escribió, se sentirá cómodo al discutirlo y podrá mostrar la amplitud de su conocimiento: eso es lo que le dará el trabajo. Un proyecto completo muestra que sabes cómo encaja todo. Una cosa más: si le preguntan a dónde va para encontrar buenos ejemplos de código, no diga Google de inmediato: dígales que buscaría en su base de código ;-)

7

He estado en esta situación antes, y por lo general me niego a enviarles los ejemplos del código.

La razón es esta: cuando trabajo para un empleador, estoy trabajando profesionalmente, y el empleador tiene derechos exclusivos sobre todo el código. Si traté de copiar el código y enviarlo a otro posible empleador, corro el riesgo de un robo mayor de propiedad intelectual. Por otro lado, si creo un código para mi propio uso, es por definición un código de aficionado (incluso si es producido por un profesional), y no tiene el mismo nivel de estenosis de gestión de proyectos, restricción de pruebas, etc., y por lo tanto, no es representativo en todas mis habilidades de codificación profesional.

Las empresas que preguntan por esto están efectivamente pidiendo lo imposible. Me parece mejor señalarles esto.

+1

Yo diría que "no" también – gbn

+1

Sin embargo, eso no es lo que OP preguntó: preguntó qué tipo de código sería apropiado. Claramente, sería una violación de la NDA estándar enviar a un posible empleador cualquier código que perteneciera a otra persona, pero no hay nada que le impida escribir algo nuevo. – Ether

+2

... y no hay nada que te impida escribir algo nuevo que sea de alta calidad. – Ether

0

CUANDO Intervoo a las personas, a menudo les pido que me den algún código. Usualmente les pedí que codificaran enfrente de mí, pero creo que mi punto sería el mismo si me lo enviaran. No veo lo que han hecho (la funcionalidad) sino cómo lo han hecho.¿Qué principios de diseño guían su trabajo? Cuán ordenado es el código. Cuál es su estrategia de prueba Han utilizado cualquier patrón y si es así se utilizan de una manera bien pensada. Dependiendo del idioma, buscaré aspectos específicos del idioma. En C++ me encantaría ver que sean capaces de usar la especialización de plantillas con elegancia (por ejemplo, para rasgos/políticas) en C# 3.0. Buscaría el uso adecuado de expresiones lambda, genéricos, LINQ. Buscaría tanto el uso correcto. así como sobre uso.

espero que le dio una idea de qué tipo de escrutinio que podría estar hecho pasar

0

Además de lo que se le envía (un proyecto, un sitio web), le sugiero que también dan una reflexión en cuanto a lo que quiere transmitir con él, y dar una introducción escrita a la muestra: ¿por qué crees que es una pieza interesante de código? ¿Qué muestra? ¿De qué piezas estás orgulloso? ¿Cuáles fueron los desafíos?
Deberían ser capaces de darse cuenta por sí mismos, pero no hay nada de malo en ayudar a las personas a ver lo que quieren que vean ...