Problemas al entrevistar para un puesto de programador

¡Hola!



Me gustó tanto tu vacante y tu empresa y tus ideales de cultura empresarial que decidí ofrecerte mi humilde candidatura. Aquí está mi currículum súper único, envíeme una prueba y también podemos hablar durante una o dos horas para que podamos entender aproximadamente si nos queremos el uno al otro.

Preámbulo



Trabajo como programador desde hace mucho tiempo. Dio la casualidad de que estaba a ambos lados de las "barricadas": pasé por lo menos un centenar de entrevistas, la mayoría de las veces recibí un rechazo y realicé al menos cincuenta entrevistas, a menudo rechazando.



Por lo general, me entrevistaban dos personas: un gerente / jefe y un programador / técnico. Con menos frecuencia, una, incluso con menos frecuencia, tres o más. Como regla general, hacen preguntas de áreas completamente diferentes, así que dividamos condicionalmente la entrevista en una tarea de prueba, inspección de habilidades blandas e inspección de habilidades técnicas.



Prueba



Es poco probable que envíe la solución de vuelta a la tarea de prueba, si no verifico que está funcionando y cumple la tarea. En consecuencia, otro programador recibe para verificación, básicamente, solo soluciones de trabajo, entre las cuales debe elegir aquellas que, en su opinión (opinión), son bastante adecuadas. Habiendo trabajado con muchos programadores en un equipo, conozco de primera mano su feroz intolerancia al código de otras personas., a la línea de pensamiento de otra persona. Por lo tanto, incluso si les ofrece una solución mejor de la que podría madurar en su cabeza, corre el riesgo de caer en malentendidos y rechazos. Al mismo tiempo, cuando se le pide que describa las razones, puede obtener tanto una tontería completamente izquierdista (una vez que me reprocharon que envié la tarea en el archivo y no la publiqué en mi github, por supuesto, ensuciaré mi espacio), y un completo ignorar. Por lo tanto, jugar una tarea de prueba es en realidad un juego de "complacer a otro técnico del que no sabes nada", es decir, un gran azar.



Por cierto, por el orden de la tarea de prueba y la entrevista, puede captar la relación en la empresa entre el gerente y el programador. Si se le pide que resuelva una tarea de prueba antes de la entrevista, entonces el gerente se considera más ocupado que sus subordinados y trata de ahorrar su tiempo al máximo delegando la verificación básica. Si se le pide que resuelva la tarea de prueba después de la entrevista, significa que los programadores de la empresa actualmente tienen una carga de trabajo tan pesada que ni siquiera se distraen para verificar las tareas de prueba de personas al azar. Puede captar aún más relaciones si la entrevista se realiza por etapas, primero con algunas personas y luego con otras. Espero que hayas captado la esencia.



Comprobación de habilidades blandas



"¿Cuéntanos acerca de tí?" - una pregunta que pone a una persona con una mentalidad profundamente técnica en un estupor (en adelante lo llamaremos constructor). Un diseñador puede deshacerse de su nombre, edad, altura y peso, nacionalidad y color de ojos después de escarbar un poco en su memoria, pero al mismo tiempo no entenderá qué tiene que ver todo esto con el caso, porque vino a vender su habilidad técnica, y no él mismo. "¿Qué es exactamente lo que quieres saber de mí?" - Yo suelo responder y veo desilusión en los ojos del jefe, al jefe pocas veces le gusta cuando le responden con una pregunta, porque ahora la pelota está de su lado y tiene que pensar. Si hubiera pensado de manera diferente, entonces, por supuesto, le habría dejado una historia sabrosa preparada previamente de mi amado con detalles detallados de lo genial, genial y, lo más importante, mejor que los demás. Pero si pensara diferenteDifícilmente me convertiría en programador. Por eso, en respuesta a la respuesta “qué quieres y dime”, empiezo a enumerar estúpidamente dónde trabajé y en qué proyectos estuve involucrado, además de qué tecnologías usé, cómo cometo otro error, ya que todo esto ya está escrito en el currículum y no causa nada más que aburrimiento. Después de todo, las palabras no pueden transmitir el volumen, el peso y el significado que siento en mi cabeza.



Y aquí hago una suposición: digamos que un programador NO DEBE tener fuertes habilidades blandas.



Vayamos de lo contrario: digamos que un programador DEBE tener fuertes habilidades blandas, entonces ¿por qué necesitamos un gerente? Entonces, ¿por qué necesito una empresa si puedo ir al intercambio autónomo y encontrar un cliente allí yo mismo? El Sr. Ford es un gran inventor del siglo pasado, inventó el transportador, una cosa increíblemente eficiente que, aparentemente, no todos han aprendido a usar todavía. En algunas empresas, cortaron este truco e insertaron un vínculo especial entre los programadores y los clientes, los gerentes, que son esencialmente traductores de "humanos" a "programadores". La tarea del administrador es estar de acuerdo con el programador y el cliente, la tarea del programador es "estar de acuerdo" con el código. Esperando una habilidad avanzada adicional del programador para negociar y comunicarse, corta a esos programadoresque, debido a la ausencia de estas habilidades blandas, liberaron suficiente espacio en su cabeza para impulsar su habilidad de desarrollo mucho más profundamente.



Imaginemos que somos entrevistados por una empresa que entiende esta idea. Sin embargo, todavía quiere evaluar la sociabilidad general, simplemente para eliminar a las personas que son completamente incapaces de trabajar en equipo. ¿Cómo se puede hacer esto de manera efectiva en 1-2 horas de conversación? Ninguna. No he visto a una sola persona en la entrevista que se haya comportado de manera disoluta, irrespetuosa o inapropiada, y esto es natural, porque en la entrevista todos somos lo más abiertos posible, amigables y adecuados. Por tanto, habiendo pasado miles de entrevistados por él mismo, el entrevistado empieza a prestar más atención a otros detalles: cómo se viste la persona, qué peinado tiene, cómo huele, qué muecas hace, qué emociones muestra, qué gestos usa, cuánto tiempo se mira a los ojos, cómo a menudo mira hacia otro lado, con qué rapidez responde las preguntas.Y toma su decisión final "experta", de hecho, en pura intuición. Después de todo, se enfrenta a la tarea de “elegir lo mejor en este momento”, y no de “eliminar las adecuadas de las inadecuadas”, y no puede ir en contra de esta tarea.



La evaluación de la velocidad de reacción es un error aparte. Los respondedores instantáneos ni siquiera tienen tiempo para pensar. Las personas que ralentizan con la respuesta, por el contrario, se sumergen en los palacios de la mente, sopesando con detenimiento todas las opciones posibles, hasta que sienten que conviene pensar un poco más. Incluso si inmediatamente tienen una respuesta adecuada.



Prueba de habilidades técnicas



Parecería que el conocimiento técnico es órdenes de magnitud más importantes que la capacidad de comunicación, pero de hecho, rara vez una empresa organiza una entrevista de tal manera que la parte técnica sea superior a la social. Por supuesto, hay excepciones, una vez que tuve la oportunidad de comunicarme durante 4 horas con un técnico muy amigable, de quien aprendí muchos trucos interesantes pero inútiles en mi vida real.



Entonces, ¿es realmente posible evaluar a una persona lo suficientemente bien en 1-2 horas de conversaciones para tomar la decisión correcta? Por supuesto no. El error más importante aquí, exactamente el mismo que en la parte anterior, es la tarea de encontrar el mejor y no descartar los correctos de los inadecuados. Como resultado, la entrevista pasa de una búsqueda de conocimiento a una búsqueda de lagunas, porque cuantas más lagunas encuentra el entrevistador, menos adecuado es el candidato y más fácil es sumar-restar-calcular puntos virtuales. Un error adicional es que comprobamos que el candidato solo tiene el conocimiento que nos conocemos a nosotros mismos, perdiendo por completo de vista el conocimiento que no conocemos, que podría ser mucho más útil en la empresa que otra copia mía.



Particularmente resbaladizo en lo que está sucediendo es que la inspección se convirtió en un examen que evalúa no la capacidad del candidato para programar, sino su capacidad para explicar, transmitir, enseñar, es decir, de hecho, la misma prueba de habilidades comunicativas en un plano diferente. Por ejemplo, puedo diseñar rápida y eficientemente una estructura de base de datos normalizada o normalizar una existente, pero soy completamente incapaz de explicar con palabras a otra persona cómo hacerlo, porque cuando normalizo, no uso palabras rusas, uso conocimientos internos que no he adquirido. en parejas en la universidad, pero en experiencia de "combate". No todo el mundo comprende esta diferencia de habilidades entre el artista y el profesor. Otro ejemplo canónico es la confusión sobre los patrones de diseño. Tal vez conozca el patrón que me preguntaspero en mi cabeza se llama de manera diferente y su implementación puede ser ligeramente diferente.



Especialmente lo que no me gusta es la inspección de detalles muy pequeños y súper específicos, que pertenecen a Google, no a mi cabeza. ¿De qué es responsable el tercer parámetro en la función de clasificación de burbujas? Organice la cola en dos pilas. ¿Cómo hacer una selección para que no sea así, sino así? Por supuesto, es bueno cuando estos detalles están en la cabeza, el programador ahorra tiempo y la empresa ahorra dinero. Pero lo que nunca aprenderá al hacer tales preguntas es lo que hay en la cabeza del candidato EN LUGAR de este conocimiento, conocimiento de tan bajo valor. Quizás exista una comprensión profunda de la asincronía, o tal vez la habilidad de acercarse a las chicas en las fiestas, pero se ha hecho la pregunta, se ha gastado el tiempo, la entrevista para el siguiente paso está a punto de completarse y usted ha descubierto poco significado.



Ni siquiera quiero hablar de solicitudes para compilar el código en papel en mi cabeza. ¿Está buscando un programador o un compilador / intérprete para un puesto? En la rutina de trabajo del día a día, el programador está acostumbrado a confiar en el entorno, utilizando sus capacidades al máximo, ahorrando su tiempo de "procesador" en lo posible. Por tanto, no es de extrañar que estas tareas se realicen de forma lenta y, a menudo, de forma incorrecta. En cambio, sería mejor preguntar qué medios usa y qué le gusta de ellos, tal vez encuentres algo nuevo y sabroso para ti.



¿Hay una salida?



Si se propone ahorrar en cerebro, lo siento, continuará omitiendo los marcos necesarios en busca de lo mejor. Solo puedo llamar su atención sobre el hecho de que los buenos cerebros buscan casi constantemente un lugar mejor que el actual, por lo que perder el "mejor" cerebro es tan fácil como "encontrarlo".



Si tiene suficiente presupuesto, puede probar el siguiente truco: ofrecer 1 mes de prueba de trabajo a todos por la mitad de la tarifa y decidir los resultados del trabajo. Se puede combinar con entrevistas preliminares cambiando la tarea de encontrar las mejores a las adecuadas, pero recuerde que las entrevistas de este tipo son prácticamente inútiles y solo toman tiempo.



All Articles