Dentro de lo salvaje. Los resultados de los proyectos de la Escuela de Programadores en la era del autoaislamiento

Durante cuatro meses de clases, se dieron 54 conferencias sobre dos transmisiones, backend y frontend, se llevaron a cabo varios talleres interesantes con codificación en vivo. Se han comprobado cientos de tareas, se han recibido 200 respuestas a todas las preguntas. Luego llegó el 2020 y justo después de quitar las guirnaldas de los árboles, todos tuvimos que disfrazarnos con máscaras y ponernos guantes. Y ahora, en orden:







La décima Escuela de Programadores hh.ru se ha vuelto especial. Aniversario, una gran cantidad de planes, un flujo inagotable de estudiantes, la motivación perdurable de nuestros profesores y organizadores. Hemos trabajado duro para hacer de este lanzamiento un modelo.





Hemos seleccionado treinta personas de entre mil solicitudes. Y estos chicos resultaron ser realmente geniales, con un gran deseo de aprender, un deseo de superar las dificultades y mejorar.



Al mismo tiempo, nuestra formación pasó a la fase de proyecto, y el mundo de las tecnologías de la información, tal como lo conocemos, se cambió sobre la marcha y pasó al modo remoto total. Esto también afectó a la Escuela: teníamos que revisar urgentemente nuestros planes y transferir todos nuestros proyectos y procesos de aprendizaje en línea. Y aquí me gustaría agradecer a nuestros organizadores y mentores por poder trasladar urgentemente toda la formación a modo remoto, a los escolares que han llegado a esta etapa, han sabido navegar y estudiar de forma eficaz incluso desde casa, y a todos aquellos que nos brindaron ayuda y apoyo. ...



Todos los estudiantes se dividieron en equipos formados por desarrolladores back-end y front-end (aunque la división resultó ser bastante arbitraria y alguien tuvo que probar ambas), y bajo la guía de mentores y nuestros programadores que querían mejorar en la gestión de equipos, los grupos de desarrollo comenzaron a implementar proyectos. ...



En total, hubo 5 equipos, cada uno de los cuales trabajó incansablemente durante tres meses: planificación y desarrollo, participando en revisiones de código y retrospectivas. El resultado fueron 5 proyectos de los que no te da vergüenza hablar y de los que quieres presumir, por ejemplo, al solicitar un trabajo.



Debe informar de inmediato sobre el objetivo de los proyectos: en tres meses para enseñar a los muchachos el trabajo en equipo real, siga todos los pasos desde la planificación y organización de la infraestructura hasta el trabajo en UX y la creación de un MVP completo. Para ello, ofrecimos a cada equipo un tema, que fue apoyado por los mentores.



Estos temas son:



  • Servicio para la formación de ofertas comerciales para empleadores: un servicio para apoyar nuestras ventas'ov, que nos permitirá trabajar de manera más eficiente y que nuestros clientes reciban ofertas verdaderamente individuales;
  • Un servicio interno para desarrolladores que le permite gamificar el proceso de codificación y crear calificaciones para desarrolladores de acuerdo con varios criterios: la aplicación debe comunicarse con nuestra cuenta de GitHub y mostrar datos sobre aquellos desarrolladores que son más rápidos, más altos y más fuertes;
  • . / - :)/, - , - . , hh.ru . , , , ;
  • — , , . MVP google forms, , ;
  • Servicio de etiquetado de vacantes. Ahora, en nuestra solicitud de empleo y currículum, puede especificar habilidades clave que son etiquetas prioritarias para la búsqueda y la comparación. Deben colocarse manualmente y no siempre lo hacen correctamente. El objetivo del proyecto es calcular etiquetas automáticamente en función de otros campos de trabajo.


Grandes proyectos, ¿de acuerdo? Busca una aplicación web separada o una nueva característica completa de una aplicación existente. Por cierto, si tuvieras la oportunidad de proponer un tema o idea para un proyecto en la Escuela de Programadores, ¿cuál podría ser?



Mientras tanto, algunas palabras sobre qué tecnologías se utilizaron en los proyectos y cuáles fueron los resultados del trabajo de los equipos en los proyectos:



Servicio de encuestas de competencias de Team Lead



Esta aplicación basada en web con todas las funciones que funciona independientemente de nuestro hh.ru principal .



En la interfaz utilizada:



  • reaccionar
  • reaccionar forma final
  • redux
  • material-ui-kit para acelerar la creación de prototipos de interfaz


En el backend:



  • tuercas y tornillos (NaB): nuestro propio marco web java
  • jersey
  • hibernar
  • PostgreSQL


Todas las partes de la aplicación están empaquetadas en Docker.



El equipo del proyecto destacó los siguientes puntos como resultado de su trabajo: los desarrolladores crearon el servicio desde cero, implementando la base para el desarrollo posterior del sistema de evaluación de habilidades corporativas. Hemos adquirido experiencia trabajando con metodologías ágiles y revisiones de código. Creé un equipo muy unido y me divertí mucho.



Servicio de calificación de desarrolladores



Es un servicio web que se ejecuta independientemente de nuestra aplicación principal y solo depende del acceso a una cuenta de GitHub.



En la interfaz utilizada:



  • reaccionar
  • redux
  • forma definitiva
  • fecha-fns
  • menos como preprocesador de estilos


En el backend:



  • tuercas y tornillos (NaB)
  • jersey
  • hibernar
  • PostgreSQL


Toda la aplicación se dividió en varias partes: krona, que actualiza las estadísticas de GitHub, un backend para calcular y analizar estadísticas, un frontend para mostrar gráficos, información y la calificación en sí.



Como resultado del trabajo, el equipo presentó el MVP de su proyecto, propuso varias opciones para el desarrollo de la funcionalidad.



Servicio de formación de ofertas comerciales para empleadores



Esta aplicación se implementó como un servicio separado dentro de nuestro ecosistema de microservicios relacionados con hh.ru.En el



frontend usamos:



  • reaccionar
  • reaccionar forma final
  • redux
  • material-ui-kit para acelerar la creación de prototipos de interfaz


En el backend:



  • tuercas y tornillos (NaB)
  • jersey
  • hibernar
  • kafka: como tecnología para transferir eventos desde sistemas de inteligencia empresarial y aplicaciones web a un nuevo servicio
  • PostgreSQL


Uno de los principales retos para este equipo fue la necesidad de levantar también una copia de la base de datos del servidor MSSQL, ya que aquí es donde se almacenan los datos de los procesos de negocio, analíticas y clientes. Una copia anónima separada con datos se usó adicionalmente para demostración y prueba.



Servicio para mejorar la calidad de los resultados de búsqueda



En la interfaz utilizada:



  • reaccionar
  • redux
  • menos como preprocesador de estilos


En el backend:



  • tuercas y tornillos (NaB)
  • jersey
  • hibernar
  • PostgreSQL


Los estudiantes debían implementar un modelo complejo de interacción entre usuarios que evalúan la calidad de los resultados de búsqueda, usuarios-administradores que ordenan la evaluación y validan. Era necesario comprender cómo funciona la búsqueda y qué metodologías de evaluación y validación podrían ser.



La mejor evaluación del proyecto en sí fue el deseo del gerente de productos de búsqueda de implementar rápidamente el servicio en producción.



Servicio de etiquetado de trabajos



El proyecto más atípico que demandaba a los escolares, además de la capacidad de programar y construir una arquitectura de aplicación, para comprender los mecanismos de comparación, evaluación y transformación de texto en ML.



En la interfaz, para implementar el panel de administración, usamos:



  • reaccionar
  • redux
  • Menos


En el backend para recopilar y analizar datos:



  • tuercas y tornillos (NaB)
  • jersey
  • hibernar
  • PostgreSQL
  • Apache Lucene
  • Yandex.Tank: para pruebas de carga


El principal desafío fue la inmersión en ML, estudio de TF-IDF, métricas de PMI y sus derivados. En la demostración final, el equipo compartió que las principales dificultades para implementar el algoritmo fueron: falta de tiempo suficiente para analizar los datos, falta de métricas de calidad para comparar algoritmos y una variabilidad muy grande en los parámetros del modelo.



Estamos seguros de que las ideas y su implementación resultaron ser dignas de nuestra Escuela de aniversario. Y 22 graduados se convertirán en excelentes programadores; por qué ser modestos, ya se han convertido. Invitamos a 11 de ellos a trabajar para nosotros, ¡y el resto brindará recomendaciones y hará esfuerzos para que los chicos estén en una buena compañía!



Si estás interesado en alguno de los proyectos, escribe sobre él, haz preguntas. Si uno de ellos "dispara", definitivamente le pediremos al equipo que trabajó en el proyecto que nos cuente más sobre él.



Por cierto, la admisión a la undécima Escuela de Programadores está en pleno apogeo.   Además, este año nos estamos moviendo completamente en línea y, en este sentido, hemos aumentado el número de lugares a 40, ¡y ahora se pueden enviar solicitudes desde cualquier ciudad de nuestra vasta! Si esta experiencia tiene éxito, haremos todo lo posible para mantener la escuela en línea para siempre.



La formación es completamente gratuita.



El algoritmo de admisión es más simple que la clasificación de burbujas:



1. complete el formulario en el sitio web



2. complete la tarea de prueba



3. realice una entrevista en línea con nuestros empleados



¡Te esperamos en nuestra Escuela!





Que tengas un buen día y recuerda a Moliere, resumamos: “¡Qué bueno saber que has aprendido algo”!



All Articles