Necesitamos un junio listo: enséñalo usted mismo o cómo lanzamos un curso de seminarios para estudiantes

imagen


No es un secreto para las personas de TI que si su ciudad no es millonaria, encontrar un programador en él es problemático, pero es más difícil para alguien que posee la pila correcta de tecnologías y experiencia.


En Irkutsk, el mundo de TI es estrecho. La mayoría de los desarrolladores de la ciudad son conscientes de la existencia del sistema ISP , y muchos ya están con nosotros. A menudo, los solicitantes llegan a la posición junior, pero en su mayoría son los graduados de ayer que aún necesitan ser enseñados y recortados.


Y queremos que Jones esté listo y que haya programado C ++, esté familiarizado con Angular y haya visto Linux. Entonces, tienes que ir y enseñarles tú mismo: presenta la empresa y da el material que se necesita para trabajar con nosotros. Entonces, la idea nació para organizar cursos de desarrollo de backend y frontend. El invierno pasado, lo implementamos, y en este artículo le diremos cómo fue.


Preparación


Reunimos desarrolladores líderes, discutimos con ellos las tareas, la duración y el formato de las clases. Sobre todo, necesitamos un programador back-end y front-end, por lo que decidimos realizar seminarios sobre estas especialidades. Como se desconoce la primera experiencia y cuánta energía se requerirá, limitaron el tiempo a un mes (ocho lecciones en cada dirección).


El material para los seminarios de back-end fue preparado por tres personas, y dos estaban leyendo, y siete empleados compartieron los temas en el front-end.


No fue necesario buscar maestros durante mucho tiempo, para persuadir también. Se proporcionó una bonificación por participación, pero no fue crucial. Atrajimos al personal de niveles medio y superior, y están interesados ​​en probarse a sí mismos en un nuevo rol, desarrollando habilidades de comunicación y transferencia de conocimiento. Pasaron más de 300 horas en preparación.

Decidieron celebrar los primeros seminarios para niños de la facultad cibernética de IRNITU. El coworking conveniente acaba de aparecer allí, y se planificó el Día de la Carrera: una reunión de estudiantes con posibles empleadores, a donde vamos regularmente. Esta vez, como de costumbre, hablaron de sí mismos y de las vacantes, y fueron invitados al curso.


Aquellos que desean participar recibieron un cuestionario para comprender los intereses, el nivel de preparación y el conocimiento de las tecnologías, para recopilar contactos para invitar a seminarios y también para averiguar si el oyente tiene una computadora portátil que pueda llevar a las clases.


Se publicó un enlace a la versión electrónica del cuestionario en las redes sociales, y también le pidieron a un empleado que continúa estudiando en la magistratura de IRNITU que lo comparta con sus compañeros de clase. Todavía era posible ponerse de acuerdo con la universidad sobre la publicación de noticias en su sitio web y en las redes sociales, pero había suficientes personas que querían asistir al curso.


Los resultados de la encuesta confirmaron nuestras suposiciones. No todos los estudiantes sabían cuáles eran el backend y la interfaz, y no todos trabajaban con la pila de tecnología que usamos. Algo escuchó e incluso hizo proyectos en C ++ y bajo Linux, muy pocas personas realmente usaron Angular y TypeScript.


Al comienzo de las clases, 64 estudiantes habían reclutado, esto era más que suficiente.


Para los participantes de los seminarios, organizaron un canal y un grupo en el messenger. Escribieron sobre cambios en el horario, publicaron videos y presentaciones de conferencias, tareas. También organizaron debates y respondieron preguntas. Los seminarios han terminado y las discusiones en el grupo están en curso. En el futuro, a través de él será posible invitar a niños a hiknitas y hackatones.

Contenido de la conferencia


Entendimos: para un curso de ocho lecciones es imposible enseñar a programar en C ++ o crear aplicaciones web en Angular. Pero intentaron mostrar el proceso de desarrollo en una empresa de productos moderna y al mismo tiempo presentar nuestra pila de tecnologías.


No hay forma de hacer teoría aquí; se necesita práctica. Por lo tanto, combinamos todas las lecciones con una tarea: crear un servicio para grabar eventos. Planeamos junto con los estudiantes desarrollar la aplicación paso a paso, mientras les presentamos nuestra pila y sus alternativas.


Conferencia introductoria


En la primera lección, invitamos a todos los que completaron el cuestionario. Al principio dijeron que solo hace mucho tiempo era full stack, y ahora en las empresas de desarrollo hay una división en el desarrollo frontal y posterior. Al final, sugirieron elegir la dirección más interesante. El 40% de los estudiantes se inscribieron en el backend, el 30% en la interfaz y otro 30% decidió asistir a ambos cursos. Pero fue difícil para los niños ir a todas las clases, y fueron gradualmente determinados.



El desarrollador de backend en la conferencia introductoria bromea sobre el enfoque del aprendizaje: "Los seminarios serán como instrucciones para artistas principiantes: paso 1 - dibujar círculos, paso 2 - dibujar un búho"

Contenido de cursos de back-end


Parte de las clases de back-end se dedicó a la programación y parte al proceso de desarrollo en su conjunto. La primera parte afectó la compilación, hacer Make and Conan, multiproceso, métodos y patrones de programación, trabajar con bases de datos y solicitudes http. La segunda parte habló sobre pruebas, integración continua y entrega continua, Gitflow, trabajo en equipo y refactorización.



Diapositiva de la presentación de desarrolladores de backend

Contenido del curso frontend


Primero configuramos el entorno: instalamos NVM, utilizándolo Node.js y npm, con ellos: CLI Angular y creamos un proyecto en Angular. Luego tomaron módulos, aprendieron a usar directivas básicas y crear componentes. A continuación, descubrimos cómo navegar entre páginas y configurar el enrutamiento. Aprendimos qué son los servicios y cuáles son las características de su trabajo en el marco de componentes individuales, módulos y toda la aplicación.


Nos familiarizamos con la lista de servicios preinstalados para enviar solicitudes http, trabajando con el enrutamiento. Aprendí a crear formularios, manejar eventos. Para las pruebas, creamos un servidor simulado en Node.js. De postre, aprendimos sobre el concepto de programación reactiva y herramientas como RxJS.



Diapositiva de la presentación de desarrolladores front-end para estudiantes

Las herramientas


Los seminarios implican practicar no solo en el aula, sino también fuera de ellos, por lo que se necesitaba un servicio para recibir y revisar la tarea. Frontenders eligió Google Classroom, los backenders decidieron escribir su sistema de calificación.

Nuestro sistema de calificación. Puede ver de inmediato lo que escribió el defensor :-)


En este sistema, el código escrito por los estudiantes pasó las pruebas automáticas. La evaluación dependió de los resultados de la prueba. Se podría obtener un punto extra para la revisión y para el trabajo entregado a tiempo. La calificación general afectó el lugar en el ranking.


La calificación introdujo un elemento de competitividad en las clases, por lo que decidimos abandonarlo y abandonar Google Classroom. Si bien nuestro sistema es inferior en conveniencia a la solución de Google, es reparable: para los próximos cursos lo refinaremos.


Consejos


Nos preparamos bien para los seminarios y no calculamos mal nada, pero seguimos con algunos rastrillos. Archivada esta experiencia en el consejo, de repente alguien es útil.


Elige tu tiempo y programa actividades correctamente


Confiamos en la universidad, pero en vano. Ya al ​​final de las clases, quedó claro que nuestro curso cayó en el momento más inconveniente del año escolar, antes de la sesión. Los estudiantes llegaron a casa después de las parejas, se prepararon para los exámenes y luego se sentaron para nuestras tareas. A veces las decisiones se tomaban a las 4-5 de la mañana.


También es importante tener en cuenta la hora del día y la frecuencia de las clases. Comenzamos a las 19:00, así que si la pareja de un estudiante terminaba temprano, tenía que irse de casa y regresar por la noche, esto es inconveniente. Además, las clases se impartían los lunes y miércoles, o los jueves y martes, y cuando había un día en casa, los muchachos tenían que trabajar duro para completarlo a tiempo. Luego nos ajustamos y pedimos menos en esos días.


Solicite ayuda a sus colegas en la primera lección.


Al principio, no todos los estudiantes llegaron a tiempo para el profesor, hubo problemas con el despliegue del entorno, el entorno. En tales situaciones, levantaron la mano, y nuestro empleado se acercó y ayudó a resolverlo. En las últimas clases, no se necesitaba ayuda, porque todo ya estaba configurado.


Grabar talleres en video


Entonces resuelves varios problemas a la vez. Primero, dé la oportunidad de ver a los que se perdieron la lección. En segundo lugar, reponga la base de conocimiento interno con contenido útil, especialmente para principiantes. En tercer lugar, mirando el registro podrá evaluar cómo el empleado transmite información y si puede captar la atención de la audiencia. Tal análisis ayuda a desarrollar la oratoria del orador. Las empresas de TI siempre tienen algo que compartir con sus colegas en conferencias relevantes, y en seminarios puede hacer crecer excelentes oradores.



El profesor dice que la cámara escribe

Esté preparado para cambiar su enfoque si es necesario


Íbamos a leer una pequeña pieza de teoría, hacer algo de programación y dar tarea. Pero la percepción del material no era tan simple y fluida, y cambiamos el enfoque de los seminarios.

En la primera mitad de la conferencia, comenzaron a examinar en detalle la tarea anterior, y en la segunda parte a leer la teoría para la siguiente. En otras palabras, les dieron a los estudiantes una caña de pescar, y en casa ellos mismos buscaban un estanque, carnada y peces; entraron en detalles y entendieron la sintaxis de C ++. En la siguiente conferencia, discutieron juntos lo que sucedió. Este enfoque ha demostrado ser más productivo.


No cambies a los maestros a menudo


Dos empleados realizaron seminarios en el backend y siete en el front-end. No hubo mucha diferencia para los estudiantes, pero los conferenciantes llegaron a la conclusión de que para un contacto más productivo necesita conocer a la audiencia, cómo percibe la información, etc., y cuando habla por primera vez, este conocimiento no lo es. Por lo tanto, puede ser mejor no cambiar de maestros con frecuencia.


Haz preguntas en cada lección.


Es poco probable que los propios estudiantes digan si algo sale mal. Tienen miedo de parecer estúpidos y hacer preguntas "estúpidas", les da vergüenza interrumpir al profesor. Esto es comprensible, porque durante varios años vieron un enfoque diferente para el aprendizaje. Entonces, si es difícil, nadie lo admitirá.


Para aliviar la tensión, utilizamos una técnica con un pato señuelo. El colega de un profesor no solo ayudó, sino que también hizo preguntas durante la conferencia y propuso soluciones. Los estudiantes vieron que los profesores son personas vivas, se les puede preguntar e incluso bromear con ellos. Esto ayudó a calmar la situación. Lo principal aquí es lograr un equilibrio entre el apoyo y la interrupción.


Bueno, incluso con ese "pato señuelo", de todos modos, pregunte sobre las dificultades, descubra qué tan adecuada es la carga, cuándo y cómo desarmar la tarea.


Haga una reunión informal al final


Habiendo recibido la solicitud final en la última conferencia, decidimos marcarla con pizza y simplemente conversar en un ambiente informal. Dio regalos a quienes aguantaron hasta el final, nombrados los cinco mejores, encontraron nuevos empleados. Estábamos orgullosos de nosotros mismos y de los estudiantes, bueno, nos alegramos de que todo finalmente hubiera terminado :-).


imagen
Damos premios Dentro del paquete: camiseta, té, cuaderno, bolígrafo, pegatinas

Resumen


16 estudiantes llegaron al final de las clases, 8 en cada dirección. Según los profesores universitarios, esto es mucho para cursos de tanta complejidad. Tomamos los cinco mejores o casi contratados, otros cinco vendrán a practicar en el verano.

Inmediatamente después de la clase, lanzaron un cuestionario para recopilar comentarios.


¿Los seminarios ayudaron a determinar la dirección?


  • Sí, iré al desarrollo del backend: 50%.
  • Sí, definitivamente quiero ser un desarrollador front-end: 25%.
  • No, todavía no sé qué me interesa más: 25%.

¿Qué resultó ser el más valioso?


  • Nuevo conocimiento: "no se puede obtener esto en la universidad", "una nueva mirada al denso C ++", capacitación tecnológica para aumentar la productividad: CI, Git, Conan.
  • Profesionalismo y dedicación de los profesores, el deseo de transmitir conocimientos.
  • Formato de clase: explicación y práctica.
  • Ejemplos del trabajo real.
  • Enlaces a artículos e instrucciones.
  • Presentaciones de conferencias compiladas geniales.

Lo principal es que logramos decir que después de graduarse de la universidad, los niños tienen mucho trabajo interesante y difícil. Se dieron cuenta de en qué dirección quieren avanzar y se acercaron un poco más a una carrera exitosa en TI.


Ahora sabemos cómo elegir el formato de capacitación apropiado, qué simplificar o incluso excluir del programa, cuánto tiempo lleva preparar y otras cosas importantes. Entendemos mejor a nuestros oyentes, los miedos y las dudas quedan atrás.


Quizás todavía estamos lejos de crear una universidad corporativa, aunque ya capacitamos a los empleados dentro de la empresa y trabajamos con estudiantes, pero hemos dado el primer paso para esta tarea seria. Y muy pronto, en abril, iremos a enseñar nuevamente, esta vez en la Universidad Estatal de Irkutsk, con la que hemos estado cooperando durante mucho tiempo. ¡Deséanos buena suerte!

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


All Articles