El efecto del carro es un fenómeno en el que la tasa de absorción de una idea en particular aumenta simplemente a través de una mayor adopción, en lugar de debido a cualquier beneficio tangible que pueda tener la idea. ¡Creo que las entrevistas en pizarra son un ejemplo perfecto de esto! Durante la última década, he visto crecer y crecer esta tendencia, aunque en realidad es perjudicial para la contratación de buenos talentos.
Hace aproximadamente una década, entrevisté para un rol de desarrollador sénior en un gran negocio (y no digamos) de Silicon Valley. Me pidieron que me dirigiera a una pizarra y resolviera un problema que el entrevistador había buscado rápidamente en Google. La pregunta, cómo invertir una cadena en C usando la menor cantidad de memoria adicional posible se ha convertido en un pilar de la cultura de las entrevistas de pizarra. Escribí una de dos posibles soluciones, pero me di cuenta de que no era la respuesta que estaba buscando el entrevistador.
Recuerdo todo el episodio hasta el día de hoy. Escribir (¡no escribir!) Código en una pizarra mientras alguien miraba por encima de mi hombro y lanzaba miradas ocasionales a su reloj.
Y ese es el problema con estos ejercicios: sacan a un programador completamente de su entorno nativo. Como resultado, es probable que sean contraproducentes, ya que no evaluarán la eficiencia del día a día. En todo caso, al hacer que alguien realice esta prueba, a menudo frustrante, en realidad está probando cuánto alguien quiere trabajar para usted, en lugar de qué tan bien podría funcionar para usted. Aunque estar motivado es obviamente una buena característica para un candidato, la prueba de esta habilidad blanda claramente no es el objetivo de un ejercicio de pizarra.
Los desarrolladores trabajan dentro de marcos diseñados para poner todo a su alcance. Codifican en un entorno de software que utiliza autocompletar. Buscan en google y otros recursos constantemente para encontrar lo que están buscando. Un gran programador es aquel que usa estos atajos para escribir un gran código. Usar las herramientas que le ayuden a lograr esto. Un gran programador no es aquel que memoriza toda la sintaxis para poder codificar en voz alta. Una gran parte de lo que un gran desarrollador sabe es dónde y cómo buscar respuestas.
Al pedirle a un programador que realice un ejercicio de codificación de pizarra, le está quitando las herramientas y el proceso que utilizan “día a día” para su trabajo. Sin este contexto, no vas a probar su aptitud en su trabajo, ¡pero su aptitud es escribir código en una pizarra!
Todo esto deja a los programadores buscando trabajo con las grandes compañías tecnológicas con un dilema bastante ridículo: continuar mejorando sus habilidades como programador, o enfocarse en mejorar en las entrevistas. Es un conjunto de habilidades diferente. Si no me crees, solo busca en Google ‘pasando una entrevista de pizarra’. ¡Existe una industria de nicho próspera vendiendo contenido para ayudarlo a pasar estas entrevistas!
Para mí, el objetivo de una entrevista es bastante sencillo: “¿Hará este candidato el trabajo para el que lo contratan y contribuirá positivamente a la cultura de la empresa”?
En la ruta escalable, la red premium independiente que ejecuto, he entrevistado a cientos de desarrolladores en los últimos 7 años. Sé que puede obtener una muy buena lectura de un candidato siguiendo los pasos a continuación, ¡sin pizarra a la vista!
- Tómate un tiempo cara a cara. Puedes decir mucho de solo hablar con alguien. Desde la inflexión y el tono de su voz hasta su lenguaje corporal. Restringirse a un intercambio de audio o correo electrónico le niega esa valiosa percepción del personaje.
- ¿Cuán obstinados son? Pregúnteles sobre su lenguaje de programación favorito y por qué. La forma en que respondan revelará mucho. Si alguien tiene una opinión sólida sobre un tema, es un buen indicador de que le apasiona
- Échales un vistazo en GitHub. ¿Cuánto contribuyen a la industria en general y a los proyectos de código abierto? Además de darle una idea de su codificación, esto le da una gran idea de su mentalidad y pasión. Los proyectos de código abierto son una forma en que las personas contribuyen a la industria al ayudar a arreglar las cosas por un bien mayor. ¡Ahora eso suena como alguien que quisiera en mi equipo!
- ¿Con qué frecuencia entregan lo que codifican? Jugar con el código es una cosa. Poder enviar un producto completo es otra. Infórmese sobre los proyectos que han terminado y los que no. Y solicite detalles sobre lo que sucedió …
- ¿Qué tan bien hablados están? ¿Son buenos comunicadores? Necesita contratar a alguien que pueda explicar lo que está haciendo. Si se comportan como una caja negra, entonces tendrá dificultades para trabajar con ellos y contratar un equipo a su alrededor.
- ¿Qué tan bien escriben? Esto es similar al punto anterior pero lo suficientemente distinto como para importar. Un gran escritor a menudo será mejor en su trabajo, ya sea marketing o programación. Mi consejo es simple aquí: cuando esté atrapado entre candidatos de aspecto similar, siempre contrate al mejor escritor.
- Use un período de prueba. Es una forma segura y justa de probarlos en un proyecto. En la ruta escalable les damos a los clientes 20 horas para evaluar un desarrollador. Si al final de ese período, el cliente no está contento, no tiene que pagar. El camino escalable y el contratista acuerdan compartir el riesgo durante el período de prueba. Si el cliente invoca la cláusula, que rara vez ocurre, el desarrollador recibe el pago del 50% de su tiempo. Todo esto está estipulado por adelantado y muy claramente para que nadie tenga resentimientos (con suerte). Aumenta la honestidad, reduce el riesgo y nos ha funcionado muy bien.
- Los proyectos de codificación de tareas generalmente requieren que alguien trabaje gratis, por lo que deben usarse de manera justa. No es ético pedirle a un programador que pase 20 horas probándote un proyecto corto. Sin embargo, son muy efectivos para identificar el nivel de habilidad de un individuo.
Esa es mi opinión de todos modos, ¡espero que haya ayudado!