Desde el blog

Inicio / Blog / Evaluar a los candidatos al desarrollo: Elegir a los guerreros adecuados

Evaluar a los candidatos al desarrollo: Elegir a los guerreros adecuados

Imagen de la película Seven Samuri. El protagonista, Kambei, elige a sus guerreros.

Resumen: Stuart Matamoros, Team Manager de number8, comparte sus consejos para evaluar a los candidatos al desarrollo y elegir a los guerreros adecuados para sus equipos de desarrollo.

Muchos directores de equipos de desarrollo de software tienen dificultades para evaluar a los candidatos durante el proceso de contratación. Es importante dentro de estas entrevistas mantenerse centrado en el objetivo número uno, encontrar un compañero que ayude a luchar contra el verdadero enemigo, la complejidad.

En el sector del desarrollo de software, puede ser difícil encontrar a una persona capaz de equilibrar plazos ambiciosos y crear un código fácil de mantener, legible y eficiente. Si elige a un miembro del equipo con la actitud equivocada o con un talento inferior, lo más probable es que su carga se haga más pesada. Pero si elige correctamente a un miembro del equipo, puede que tenga una oportunidad de luchar.

El truco está en cómo evalúas a tus guerreros durante el proceso de entrevista. 

Si es usted cinéfilo como yo, recordará la épica película de Akira Kurosawa, Siete Samuráis. En la película, hay una escena en la que el líder del equipo samurái, Kambei, está eligiendo guerreros para luchar contra un grupo de bandidos que están atormentando la aldea de un granjero. El proceso de selección de Kambei es bastante sencillo: invita a los candidatos a cruzar una puerta y entrar en una habitación desconocida. A continuación, evalúa sus reacciones. ¿Se enfrentan al peligro? ¿Serán capaces de reaccionar con éxito ante lo que encuentren? 

Al igual que Kambei, cuando evalúo a candidatos para el desarrollo, me gusta hacer un ejercicio en el que realizan su trabajo delante de mí. Luego los evalúo en 5 áreas principales: conocimientos, artesanía del código, arquitectura/diseño, refactorización/pruebas y peopleware. 

 

1. Conocimientos

Lo primero que quiero evaluar es el grado de familiaridad del candidato con sus herramientas. Presto especial atención a la rapidez con la que navegan por los menús, utilizan los accesos directos y lo fácil que les resulta crear artefactos en cada herramienta. En nuestras evaluaciones en directo en number8, analizo específicamente lo siguiente:

Almacén de datos
Lenguaje/marco de desarrollo web
Marco de pruebas

 

2. Código Artesanía

El principal entregable para la mayoría de los ingenieros de software es el código. Así que, en realidad, estamos entrevistando a autores que colaboran para escribir y revisar distintas partes de un mismo texto. Por lo tanto, tenemos que atenernos a ciertos principios si queremos que otras pobres almas encuentren sentido a nuestro código.

Para los jóvenes talentos, los principios de codificación a veces pueden descartarse fácilmente, pero los desarrolladores profesionales saben que no es así. Un buen código significa que otros desarrolladores pueden leer el texto como si fuera una historia. El código debe ser lo suficientemente modular como para asignar partes separadas de una solución a cada miembro del equipo para su mantenimiento. En esencia, un buen código tiene que ser
Limpio | D.R.Y | Legible | Expresivo

 

3. Arquitectura y diseño

En esta área, quiero ver la comprensión que tiene el candidato de los servicios y lo bien que distribuye las responsabilidades de la solución propuesta. Presto especial atención a las siguientes actividades:

  • Capas de solución: Hay distintos enfoques para distintos problemas. Quiero ver lo que se presenta y las razones que hay detrás de las decisiones.
  • Modelo de datos: Algo que todo software tiene son datos. Un candidato siempre tiene que definir entidades, del mundo real o abstractas. Se especifican relaciones e interfaces para que esos elementos hablen entre sí.
  • Diseño de API: Una forma limpia y moderna de proporcionar comunicación es crear API. Lo que se incluye en la interfaz y cómo se explican es muy informativo durante una entrevista.

4. Refactorización y pruebas

Ya sea para hacer las cosas más claras o para resolver un error, la mayor parte del tiempo los ingenieros de software están leyendo y cambiando código que ha escrito otra persona. Por eso, siempre presto mucha atención a las pruebas. Creo quea única forma de asegurarse de que un candidato está solucionando realmente un problema (en lugar de empeorar las cosas) es ejecutar pruebas de creación. Las pruebas unitarias y de integración simplemente no son óptimas en el mundo actual.

 

5. Peopleware

Peopleware es un libro y un término acuñado por el ingeniero de software estadounidense Tom Demarco. El libro explica la importancia de comprender cómo encaja un desarrollador de software en la cultura de una organización y lo bien que trabajará con el resto del equipo. Al evaluar este aspecto, presto especial atención a lo siguiente:

  1. Capacidad de comunicación: Me fijo en si el candidato hace preguntas. Si no entendieron mi solución, ¿pidieron aclaraciones? La otra cara de la comunicación es escuchar. Siempre evalúo la capacidad de un candidato para seguir instrucciones y el grado de atención que presta a los requisitos expuestos.
  2. Comentarios: Algunos candidatos son tímidos y algunos desarrolladores simplemente no soportan las críticas. Es importante saber cómo reaccionará un candidato a los comentarios, ya que pueden suponer una carga para el equipo.
  3. Trabajo en equipo: Durante el ejercicio lanzo preguntas o hago modificaciones de última hora de los requisitos, con el fin de determinar la capacidad del candidato para llegar a compromisos y delegar tareas en otros compañeros de equipo. Utilizar o refactorizar el código de otra persona es una continuación natural de la introducción de cambios de última hora. Además, añade presión al final de la entrevista e imita la realidad. La reacción que obtengo de los candidatos cuando cambio los requisitos o les pregunto si preferirían utilizar código externo siempre me permite saber si elevarán o hundirán a la gente durante un proyecto, o si tienen un gran ego que podría constituir un lastre para el proyecto.

Una vez evaluadas estas 5 áreas, sabrás si has encontrado a tu guerrero.

En conclusión, la ingeniería de software es una profesión compleja e interesante y los ingenieros siempre están pasando de un estado de habilidad a otro. Sus candidatos pueden ser polifacéticos o especialistas, pero siempre hay bloques fundacionales específicos que son comunes a todos. Evaluar a los candidatos al desarrollo con los bloques descritos en este artículo le proporcionará la capacidad de calibrar fácilmente lo que aportará un nuevo miembro del equipo.
Recuerda que, cuando realizas una entrevista, no intentas encontrar a un genio ni aceptar a todos los candidatos; simplemente buscas guerreros que estén lo suficientemente preparados y tengan la actitud adecuada para realizar el trabajo y luchar a tu lado.

 

Imagen del director del equipo number8 y autor del artículo, Stuart Matamoros

Sobre el autor: Stuart Matamoros es Team Manager y lleva 9 años en number8. Ha desempeñado un papel decisivo en la creación de nuestro proceso de evaluación de candidatos, que incluye una breve evaluación, un desafío de codificación de evaluación en vivo y una evaluación de la personalidad.

¿Desea incorporar a su equipo un desarrollador con experiencia?

number8 recluta y califica desarrolladores de nivel medio y superior para equipos de desarrollo con sede en EE.UU.. Si tienes lagunas de habilidades específicas o estás luchando por encontrar grandes talentos, number8 puede ayudarte con eso. Contacte con nosotros o siga explorando todos nuestros servicios de desarrollo de software a medida y remoto. aumento de personal la manera number8.

Trabajemos juntos

Facilite sus datos para hablar hoy mismo con un ejecutivo de cuentas de number8 sobre sus necesidades de desarrollo y sienta lo que es que le escuchen antes de venderle una solución.

Permítanos ayudarle a añadir personal altamente cualificado, desarrolladores versátiles a su equipo.

Copyright © 2023-2024 number8. Todos los derechos reservados.