Sobre el papel de las tareas de prueba en la vida del desarrollador

¿Cuántas entrevistas técnicas has tenido en tu vida?


En los últimos cinco años, he visitado 35 entrevistas técnicas de todos los tipos y detalles imaginables, desde startups de Kazajstán para la compra colectiva de carne para el invierno hasta servicios y bancos fintech alemanes y estadounidenses; con sesgos en la programación, distribución y gestión; remota y en la oficina; limitado e ilimitado en el tiempo; estresante y relajado, en diferentes idiomas.

Esto, junto con ~ 20 entrevistas que yo mismo realicé como empleador, es suficiente para convertirme en el rey de las entrevistas para hacer la siguiente observación (inicialmente completamente obvia) y establecerme en ella: estoy convencido de que esto se debe en gran medida a la cantidad de entrevistas que comienzan a parecerse Como hábito marginal, estudié mi stack profesionalmente y me convertí en un especialista competitivo a pesar de que antes de eso ya había trabajado 10 años en desarrollo web.

Este artículo está dirigido a programadores que están al comienzo del camino y que aún no han agotado la profundidad del conocimiento. En él, quiero ampliar la tesis sobre los enormes beneficios educativos de las tareas de prueba y las preguntas técnicas solicitadas para entrevistas, e invitar a todos a mi bot de telegramas recién escrito ActualizeBot , donde, en mi opinión, puede pasar por una entrevista técnica al menos todos los días hasta que finalicen. Y para que no terminen, también puede compartir una tarea técnica interesante, una pregunta o una situación útil / divertida experimentada en una entrevista.

Le contaré más sobre el bot a continuación, primero comprendamos por qué es tan importante conocer y comprender las respuestas a estas preguntas y tareas técnicas, incluso si ha estado cortando con éxito proyectos independientes durante años.

¿Por qué la calidad de nuestro conocimiento fundamental deja mucho que desear?


Las entrevistas técnicas, si aún no se ha convertido en el rey de las entrevistas, son un grave estrés para el cuerpo, así como una búsqueda de empleo en general, ya sea que sea un especialista novato, un conmutador o un desarrollador que ha trabajado en un lugar durante mucho tiempo (y durante un "largo tiempo" en nuestro tiempo será un año).

En muchas entrevistas, este estrés tiene un factor humano agravante. Es posible que su entrevistador no sea Alena Vladimirskaya, sino un programador ordinario de algún tipo, de quien es difícil esperar las tareas adecuadas y su evaluación o un líder de equipo duro que esperará un momento para reducir toda su severidad a sus ojos, haciendo la pregunta: ¿Qué es para usted? ágil?

Una vez, sin dar la respuesta necesaria, pero, como saben, impredecible a esta pregunta, me quedé sin una oferta, de lo cual estoy extremadamente feliz.

Tratando de evitar este estrés y movimientos innecesarios en general, nos distanciamos no solo de la fuerte exposición de nuestra ignorancia de algunas características básicas del lenguaje, sino también de reducir un poco esta ignorancia.

El problema es que, en la práctica, tal clase de tareas no es suficiente para nosotros.
Cualquier desarrollador que haya tenido que trabajar en varios lugares confirmará que las tareas fundamentales o creativas planteadas en la entrevista rara vez tienen que ver con lo que el programador trata en la vida real: no necesita recurrencias, gráficos o sistemas de control de elevadores asíncronos en el planeta. gravedad negativa en el otro brazo de la galaxia. Lo siento

En cuanto a mi JavaScript nativo, hay un buen ejemplo: si React.JS no hubiera aparecido, el 98% de los programadores de JavaScript habrían seguido viviendo felizmente sin saber qué es el enlace, más de 20 años después de su aparición, y seguirían perplejos recibiendo preguntas sobre él en las entrevistas, y solo aquellos que inventan todas estas bibliotecas, marcos y módulos altamente abstractos continuarán trabajando con él. Hoy, gracias a la reacción, este número se ha reducido, según los sentimientos, al 97%.

Obviamente, al ver el "aislamiento de las realidades" de estas tareas, muchos desarrolladores las ignoran o tienen tiempo libre para sumergirse en ellas, y continúan participando en una rutina diaria, es decir, en sentido figurado, caminando por el campo de minas para la producción no solo sin un detector de minas, sino también sabiendo que están en un campo minado.

Lo que está lleno de falta de conocimiento fundamental del idioma.


La respuesta a esta pregunta parece banal, pero por alguna razón en la naturaleza humana, siempre empujando su solución al extremo más alejado, y esto juega un papel triste en la vida de los programadores junior y middle, extendiendo su camino a las alturas (y profundidades) del conocimiento del idioma por un par de años

El código de aplicación que usa los marcos y las bibliotecas que están acostumbrados a escribir todos los días no puede considerarse confiable si lo escriben sin una comprensión suficiente de varios aspectos de su ejecución. Una buena ilustración de esto desde el mundo de JavaScript es el destino de la biblioteca JQuery, que una vez fue un motor de progreso, y hoy, siendo un campo de conocimiento autónomo separado del resto del lenguaje, ocupa su lugar natural en el mercado: semiprofesional escrito a toda prisa y trabajando como si fuera un guión como regalo para el mismo diseño rápido en bootstrap de freelancers económicos.

El futuro de los proyectos que se desarrollan con esto, aunque sin saberlo, pero con un enfoque irresponsable, es prosaico y de corta duración: se pierde tiempo de la nada, interrupciones, pérdidas financieras y de reputación y, como resultado, una disminución en el entusiasmo por la cooperación continua.

Por otro lado, poco para una persona que ha elegido el camino de un programador se puede comparar con el placer de comprender lo que está haciendo. Entendiendo que él, como el barón Munchausen, se encabrita en un campo minado a caballo. Huelga decir que un empleador decente puede ver claramente a las personas que caminan imprudentemente por el campo minado y las personas que están congeladas en la indecisión para dar un paso en una situación en la que puede correr y saltar sin pensar en nada.

ActualizeBot


Al ver los beneficios de las entrevistas, y también comprender que ir a entrevistas inactivas no es del todo ético, pensé que sería genial crear un bot donde un desarrollador que comenzara o cambiara a otro idioma pudiera hacer un trabajo educativo sin recurrir a entrevistas reales en esa cantidad en lo que me pasó. Y recordando cómo a los programadores les gusta discutir y comparar tareas que tenían que resolver, especialmente si era algo no trivial, me di cuenta de que todo encaja, rechacé todas las dudas y listo.

Por el momento hay 3 funciones simples en el bot:

  • Suscribirse a un lenguaje / marco particular para recibir nuevas tareas en él. Te suscribes y a medida que recibes tareas las recibes en el boletín diario
  • Publicar una tarea o prueba: en mi libro dicen que compartir es preocupante
  • Un excelente generador de nombres, con el que puede elegir la firma óptima para el texto de la tarea que publica, incluidos los diccionarios femeninos, que no carecen de femeninos

Por el momento, se ofrecen los siguientes idiomas para elegir: JavaScript, Java, Python, PHP, MySQL. La elección es algo limitada debido a los límites de mi comprensión. Espero, con la ayuda de la sociedad habra, reponer esta lista.

El bot se lanza en un formato puramente rock and roll, no se espera el pago de nada.
Puede ir a él en el enlace: ActualizeBot

Brevemente sobre la implementación técnica


Este bot es uno de los varios proyectos pequeños en los que traigo la primera versión pública de mi miniframe de código abierto para desarrollar bots con una estructura compleja, con amor llamado Hobot y disponible en NPM para hardcore.

El marco está construido sobre la base de Telegraf.JS y TypeScript, su versión cero-cero-primera, equipada con un ejemplo de uso, se puede ver en el github y probarlo de inmediato. Pronto descargaré la versión 0.0.2 extendida y peinada para la persona desde un lado y le dedicaré un artículo separado (tronco). Me alegraría si para alguien resulta ser tan relevante como lo es para mí.

Entonces, ¿a cuántas entrevistas has tenido que asistir?
¡Estoy seguro de que tienes algo que contar!

Source: https://habr.com/ru/post/477470/


All Articles