¿Por qué las preguntas de entrevista para trabajos de programación son tan difíciles?

Tengo que decir que odio programar preguntas de entrevistas. ¿Por qué son tan difíciles?

Tengo que decir que odio programar preguntas de entrevistas. ¿Por qué son tan difíciles?

Si alguna vez utilizó una herramienta como HackerRank o leyó un libro de preguntas de entrevista de codificación, probablemente esté de acuerdo conmigo. Sí, hay toda una industria en torno a la codificación de entrevistas y la preparación para ellas.

Los odio. No todo el mundo está de acuerdo conmigo en Internet. Parece que muchos quieren continuar con esta "tradición".

Hace un par de años decidí que tenía suficiente con la contratación / trabajo independiente y pasé por el proceso de contratación de muchas empresas diferentes.

Esto fue antes de que me diera cuenta de que básicamente soydesempleado, Pero esta es otra historia. Y por desempleado me refiero a que simplemente no puedo trabajar para nadie más excepto para mí, para construir mis propios productos y activos en lugar de construir los de otra persona.

Aproximadamente la mitad de las empresas a las que postulé tuvieron una evaluación inicial con un proyecto práctico para llevar a casa.

Nadie me pidió que implementara FizzBuzz u otros algoritmos que a menudo se describen como "conocimientos necesarios".

Es posible que nos engañen para que pensemos que cada proceso de contratación es como el que experimentaría en Google. Leí sobre personas que pasaron un año solo para prepararse para la entrevista de Google, solo para ser rechazadas cuando solicitaron. Triste.

Existen innumerables pequeñas y medianas empresas que nunca contratan mediante una entrevista técnica rigurosa y estéril sobre temas como algoritmos y estructuras de datos. En una pizarra. Sin Google y (¡jadeo!) Stack Overflow.

Claro, es genial conocer esos temas de adentro hacia afuera, y creo que realmente deberías.

Y tengo el pensamiento subyacente: los problemas son básicamente todos iguales, con 10-20 variaciones. Implemente la clasificación de burbujas. Ok, puedo hacer eso. Solo quieren escuchar tu razonamiento sobre el tema. Cómo lo abordas. Pero en realidad, está explicando lo que recuerdas de un problema que memorizaste. Si el candidato es un recién graduado, es posible que incluso lo recuerde bien. Si el candidato es una persona con 5 años de experiencia laboral real, es posible que no lo recuerde.

FizzBuzz sería más razonable. No se enseña en la escuela, el problema se puede explicar en 3 minutos y puedes razonar al respecto.

Pero si tuviera que organizar la contratación para mi empresa, tal vez como CTO, nunca pondría a la persona frente a una pizarra y le pediría que implementara FizzBuzz. ¿Por qué? Primero, es completamente inútil, nunca tendrás que implementar eso en el mundo real.

En segundo lugar, hay mucho estrés en el solicitante. Mucha gente tiene un rendimiento inferior en esas condiciones. Yo incluido. Podría presumir quizás del 10% de mi valor, solo porque no puedo funcionar bien en un entorno tan extraño para mí.

DHH (David Heinemeier Hansson, creador del popular framework Ruby on Rails)Una vez dicho: "No podría escribir el tipo de burbuja en una pizarra"

Es espantoso y quizás solo bueno para poner a prueba los nervios de un candidato. Lo cual es algo completamente diferente a probar las habilidades para proporcionar valor a la empresa, como programar si estoy contratando a un programador.

Ningún problema que pueda resolver en una entrevista de pizarra tradicional tiene alguna correlación con el trabajo real de un programador.

Debo pensar cuándo fue la última vez que dediqué un tiempo a decidir qué algoritmos usar, y mucho menos a implementar un algoritmo completamente nuevo. Entonces, ¿por qué a la gente se le pregunta continuamente sobre esas cosas?

Este es un tweet que señala que también las grandes empresas se están moviendo en una mejor dirección:

Tech Wiki Online!