¿Existe actualmente alguna prueba de aptitud moderna y estandarizada para la ingeniería de software? [cerrado]

10

Antecedentes

Soy un ingeniero de software que trabaja y está buscando un nuevo contrato para el próximo año más o menos. En mi búsqueda, estoy soportando varias entrevistas técnicas absurdas como lo indica esta pregunta popular que hice hoy .

Incluso si las preguntas que me formulaban no fueran casi siempre absurdas, no obstante, estaría cansada de responderlas muchas veces por varias oportunidades de contrato.

Así que esto me hizo pensar que tener un examen estandarizado que los profesionales de software en funcionamiento podrían tomar proporcionaría un cuadro de mando común al que los entrevistadores podrían hacer referencia en lugar de preguntas absurdas de entrevistas técnicas (es decir, novatadas de nerds).

Pregunta

¿Existe una prueba de aptitud de ingeniería de software estandarizada (SEAT ??) disponible para que los profesionales que trabajan la realicen?

Si no existe tal examen, ¿qué preguntas o temas deberían cubrirse?

Un pensamiento adicional

Tenga en cuenta, si sugiere una pregunta o un tema, centrarse en preguntas o temas que serían relevantes para las prácticas de desarrollo contemporáneas y las necesidades realistas en la fuerza laboral, ya que ese sería el punto de una prueba de aptitud estándar. En otras palabras, no hay preguntas transversales de payasos .

Matt Cashatt
fuente
Buena pregunta, pero lamentablemente parece que no hay forma de evitar la entrevista técnica incompetente. Los peores son los realizados por reclutadores sin experiencia en programación. He tenido algunos que fueron sorprendentemente malos. Di lo que creía que era una respuesta adecuada a algunas preguntas que me dijeron que estaba completamente mal porque no coincidía con la definición enlatada que habían obtenido de alguna parte.
Antonio2011a

Respuestas:

7

Echa un vistazo a Codility .

Es una prueba de programación en línea que admite varios idiomas diferentes. Las preguntas están bien definidas y no son demasiado complejas, aunque requieren un poco de reflexión, así como buenas técnicas de programación (defensivas): no solo tiene que escribir una solución de trabajo correcta, sino que probarán cosas como condiciones de borde y desbordamiento de enteros .

No tengo idea de qué tan bien se considera la autocertificación, pero dos solicitudes de empleo recientes han utilizado ese sitio como parte del proceso de selección.

Halcón peregrino
fuente
2
Sitio ordenado! Las preguntas son realmente bastante desafiantes. Solo terminé a medio resolverlo y algunas pruebas extremas fallaron las pruebas de rendimiento a pesar de que nunca salieron y dijeron que mi código se probaría para el rendimiento.
maple_shaft
3

Las pruebas de aptitud están destinadas a medir la facilidad innata de alguien para un tema determinado, no cuánto sabes sobre un tema. No creo que sea lo que estás buscando. En cambio, parece querer una forma estándar de demostrar lo que sabe para no tener que soportar las preguntas técnicas en una entrevista (o al menos puede evitar las tontas).

Buenas noticias: hay muchas formas de demostrar lo que sabes. Las herramientas a su disposición incluyen:

  • currículum vitae: un currículum bien escrito puede recorrer un largo camino para responder preguntas sobre lo que ha hecho en el pasado y, por extensión, lo que ahora sabe. No solo enumeres dónde has trabajado, di lo que has hecho.

  • proyectos: trae contigo algo que hayas creado y ofrece una demostración rápida. Muestre su código y esté dispuesto a explicarlo. Esto le permite mostrar su habilidad técnica en su propio territorio. (Si es algo a lo que otros también han contribuido, sea muy claro sobre lo que hizo frente a lo que otras personas han hecho. Si puede, es mejor mostrar algo que sea completamente suyo).

  • escritura: si ha escrito algún artículo, un blog, un libro o un artículo de revista, intente presentarlo antes de su entrevista para que los entrevistadores tengan la oportunidad de leerlo.

  • grado o certificación: son lo más parecido a un examen estándar que pueda obtener.

En resumen, su objetivo es proporcionar tanta evidencia como sea posible de que tiene el conocimiento que el entrevistador está buscando.

Malas noticias: pase lo que pase, es probable que siempre se enfrente a una o dos preguntas técnicas artificiales cuando se entrevista para un trabajo. Incluso si realmente los sorprende con su experiencia y puede demostrar que es exactamente el tipo que están buscando, aún así harán algunas preguntas sobre las estructuras de datos o lo que sea. La empresa no tiene inconvenientes: la persona que buscan debería poder responder esas preguntas mientras duerme, y aparentemente hay muchas personas que no pueden . Además, algunas organizaciones tienen procedimientos de contratación estrictos que requieren que hagan las mismas preguntas a cada candidato; Los entrevistadores no son libres de decidir que usted sabe lo que hace y pueden saltear las preguntas técnicas.

Caleb
fuente
Caleb: agradezco tu comentario y tengo todas las balas que mencionaste. Además, el tipo de preguntas mencionadas en el enlace que proporcionó, o los problemas comunes de estructura de datos como una barra lateral para una entrevista más grande, están bien. De lo que personalmente estoy un poco harto es de correr como un pollo sin cabeza a diferentes "evaluaciones tecnológicas" para que me hagan preguntas que no son relevantes para el trabajo. Y de nuevo, solo estoy después de un trabajo por contrato, por lo que hay muchas iteraciones de este proceso de "detección tecnológica". Simplemente creo que una prueba estandarizada puede evitar eso.
Matt Cashatt
2

Podría decirse que ese es el papel de las certificaciones y títulos. Si desea una prueba estandarizada de la familiaridad de alguien con un lenguaje de programación en particular, puede buscar personas que tengan una certificación de idioma en particular. Si desea una prueba estandarizada de conocimientos generales de informática, busque a alguien que tenga un título en informática.

El problema, por supuesto, es que todos sabemos que este tipo de credenciales están lejos de ser perfectas. Es demasiado fácil para las personas obtener un examen de certificación una vez que se finalizan los temas del examen sin realmente aprender nada o sin poder aplicar el conocimiento. Una fracción bastante grande de desarrolladores sólidos no se molestará en pasar por el proceso de certificación. Y tratar de obtener la certificación en todo lo que busca un empleador (idiomas, procesos y metodologías de desarrollo, etc.) sería bastante oneroso. Los títulos en informática también son falibles: hay personas que completan su título sin siquiera aprender a escribir código útil y hay personas que aprenden a escribir código excelente mientras se especializan en otra cosa.

Dado que los enfoques estandarizados han demostrado ser insuficientes en el mundo real, es excepcionalmente improbable que a un examen estandarizado le vaya mejor. Seguramente terminaría siendo gamed al igual que los exámenes de certificación existentes. Las personas se apiñaban para el examen o tenían acceso a las preguntas de "vertederos de cerebros". Los desarrolladores existentes no se quedarían sin tomar el examen. Y los empleadores no estarían dispuestos a depender en gran medida de los resultados del examen. Así que todavía van a querer hacer preguntas técnicas en una entrevista.

Sin embargo, más allá de eso, una buena entrevista técnica (obviamente, hay malos entrevistadores y malas preguntas al igual que hay malos desarrolladores) también debe ser sobre cómo evaluar el enfoque de un candidato con el equipo actual. Una buena entrevista debe evaluar las habilidades de comunicación de un candidato y sus habilidades blandas tanto como evalúa sus habilidades técnicas. Estoy mucho más interesado en un candidato que haga buenas preguntas para aclarar los requisitos y que explique bien su proceso de pensamiento, incluso si no encuentran inmediatamente el mejor algoritmo sobre alguien que tenga un gran algoritmo pero no pueda explique su respuesta de manera efectiva o discuta las compensaciones de manera efectiva.

Justin Cave
fuente
Gracias Justin Cave, sus puntos fueron bien tomados, especialmente el último párrafo con el que estoy totalmente de acuerdo. La cuestión es que, en esas entrevistas "tecnológicas" que fueron una mala experiencia para mí, parece que el entrevistador siempre cayó en la categoría de no tener esas habilidades blandas que mencionas y a menudo era difícil entender las palabras que decían ( y mucho menos lo que preguntaban).
Matt Cashatt
Me considero superior en esas habilidades blandas que mencionas, además soy un programador sólido y lo he demostrado a lo largo de los años, así que me parece desafortunado que estos guardianes se interpongan entre mí y mi próximo contrato. Creo que un enfoque estandarizado compensaría este problema.
Matt Cashatt
@MatthewPatrickCashatt - Pero al mismo tiempo, ¿no le gustaría saber que tendrá problemas para comunicarse con el equipo durante la entrevista antes de comenzar el trabajo? Si no puede entender lo que preguntan, incluso si la culpa es completamente suya, no tendrá éxito trabajando con ellos.
Justin Cave
Creo que estamos hablando de dos contextos diferentes (mi culpa). Verá, estoy tratando con varias agencias de reclutamiento que se interponen entre mí y, por ejemplo, obtengo un contrato de 6 meses en Amazon o Microsoft. No tengo más remedio que pasar por estas agencias, pero no trabajaré con las personas empleadas por ellos. Entonces, invariablemente, me encuentro con un inspector empleado por la agencia que tiene una pila de C #, Java, C ++ o libros de algoritmos en su escritorio, vamos a una sala de conferencias y proceden a hacerme preguntas que hacen evidente que no tienen He estado en la fuerza laboral por un tiempo.
Matt Cashatt
@MatthewPatrickCashatt - Bueno, hay indudablemente pobres entrevistadores por ahí. Pero si son incompetentes, es poco probable que usen los resultados de una buena prueba estandarizada, incluso si existiera por las mismas razones por las que no requieren simplemente un título y certificaciones apropiadas hoy.
Justin Cave
0

La prueba de aptitud de analista / programador sin lenguaje proporciona una medida objetiva del potencial de un candidato de trabajo para comprender y aplicar razonamiento, lógica, matemática informática y reglas de procedimiento. El LPAT no prueba al candidato en un lenguaje de computadora específico. Ver http://www.aprtestingservices.com/business/lpat/

Joel W.
fuente