Experiencia docente en una escuela de desarrollo, o por qué necesita ir a la escuela después de la universidad

Digital Design fue una de las primeras compañías en usar .NET y C # en su trabajo y se convirtió en el centro de entrenamiento oficial de Microsoft. La educación y el diseño digital han ido de la mano a lo largo de nuestra historia: tenemos una universidad de TI, administramos escuelas constantemente, hemos sido el socio de oro de Microsoft desde 95, tenemos formadores certificados.

Cuando lanzamos la primera escuela de desarrollo, los problemas con las calificaciones del personal eran completamente diferentes, o más bien, había un problema de su ausencia, así como la falta de la información necesaria. Ahora Microsoft está promoviendo activamente su tecnología e invirtiendo en capacitación, por lo que si una persona lo desea, puede encontrar toda la información por sí mismo y convertirse en programador. Nos visitan especialistas que poseen las tecnologías que utilizamos en nuestro trabajo, pero para incorporarlas rápidamente en la práctica, necesitábamos una herramienta: el objetivo de organizar una escuela de desarrollo se transformó gradualmente.



Por qué yo y por qué la escuela de desarrollo


Mi nombre es Suren, y este no es mi primer artículo sobre Habré (también se trata de .NET y Sitefinity ), pero hoy quiero hablar sobre mi experiencia docente. A lo largo de 9 años de desarrollo, he adquirido mucha experiencia que quería compartir. Al mismo tiempo, me pareció que trabajar con pasantes no siempre se construía de la manera más eficiente posible, porque durante la jornada laboral no era posible asignar suficiente tiempo para una capacitación estructurada.

El otro extremo es la enseñanza universitaria, que requiere educación especializada (√ ¡hecho!), Un gran deseo de enseñar y compartir experiencias prácticas (√), falta de trabajo principal / horario libre (X), amor por el conocimiento académico (XX) y mucho libre tiempo de preparación (XXX).

Como resultado, la escuela de desarrollo .NET basada en Digital Design IT University se convirtió en la opción ideal para mí y, para mí, para los principiantes . Y, lo que es más importante, para la empresa: gracias a la escuela, pudimos elegir el mejor personal, capacitarlos y, podría decirse, convertirlos en trabajo.

Preparación para la escuela


Si no ha enseñado antes o no quiere seguir programas ya preparados, entonces necesita pasar 3-4 veces más tiempo para prepararse para la conferencia que para la conferencia en sí. También decidí no seguir el camino pisado y hacer que el programa sea relevante: con los últimos chips, consejos y sugerencias, porque un buen maestro de TI tiene más experiencia que conocimiento (el conocimiento ahora es más sobre Google: probablemente no haya especialistas que escribir código sin internet). Además, trabajar con una audiencia preparada es un poco más difícil, porque no siempre entiendes a qué nivel navegar, así que en la primera escuela decidí detenerme en la información que recibí durante el trabajo, en referencia a conceptos y términos generales.

Y aun un poco de teoría


Me preparé a fondo para la primera conferencia, pensando en el plan y haciendo bocetos de lo que necesitaba decir. Al final de mi informe claro, me di cuenta de que solo habían pasado 10 minutos y que era hora de comenzar una improvisación pura. Rápidamente me di cuenta de que los estudiantes acuden a nosotros en primer lugar para obtener ejemplos y casos reales, por lo que pasamos rápidamente a consejos sobre nombres, estructura de bases de datos y cómo reenviar datos al frente y atrás. En las últimas 3-4 lecciones, fuimos a clases de mini-master: codifiqué con los estudiantes, deteniéndome en explicaciones y preguntas. Por ejemplo, aquí nos conectamos usando para usar los métodos o propiedades que necesitamos, aquí conectamos una biblioteca adicional a través de NuGet para interactuar con la base de datos como un conjunto de entidades. Entonces quedó claro que la efectividad de tales lecciones es máxima,pero su intensidad no permite a los estudiantes percibir toda la información en su totalidad. Tuve que cambiar el enfoque, alternar tipos de información, etc. Mucho depende de los estudiantes: si no se toma el tiempo para estudiar de forma independiente y recuerda todo lo que estaba en la lección, no logrará el resultado.

Pasemos a practicar


Por supuesto, la teoría es útil: no puedes comenzar a practicar sin conocimientos básicos de terminología, pero debido a los cortos períodos de entrenamiento, ¡tuvimos que elegir un acento! De hecho, resulta que para la lección damos el máximo material, y algunas personas son excluidas, pero aquellos que vienen a la compañía como aprendices ya han aprendido el material y están listos para trabajar. Pero nuestro objetivo es obtener el mejor personal, por lo que el nivel de educación y las expectativas de los estudiantes son muy altos.

A menudo, la educación peca el aislamiento de las tareas aplicadas, y rápidamente me di cuenta de que incluso mostrando el trabajo en ejemplos concretos, los estudiantes no siempre entienden cómo usarlo más tarde. Además, si al final del curso espera que los estudiantes tengan un nivel de conocimiento suficiente para crear una aplicación simple, entonces debe ir con ellos al menos una vez. Por lo tanto, decidimos pasar rápidamente a la etapa "Hacer" (o más bien, "Repetir después de mí"), y pronto comenzamos a aprender creando nuestra propia aplicación. Le expliqué qué es diseñar una arquitectura de base de datos, cómo trabajar con ella y durante la conferencia comenzamos a desarrollar una aplicación. Como parte del desarrollo, toqué varios temas: interacción con el sistema de archivos y las bases de datos, trabajo con imágenes, carga / descarga de archivos a través de la interfaz, descarga directa,Interacción sincrónica: en una palabra, cosas que hacen posible comprender qué puede hacer un idioma, qué forma puede y cómo usar este conocimiento en el marco del desarrollo de pruebas. Utilizando un ejemplo de una aplicación simple para compartir fotos con la capacidad de seleccionar funcionalidades adicionales (determinación de geolocalización, mensajería, etc.), examinamos los principios generales de interacción con la plataforma. Es importante que después de que los estudiantes tengan todas las grabaciones de video.


Actuamos por etapas: diseñamos la base de datos en sí misma, la llenamos de contenido, hicimos un formulario de dibujo, editamos un perfil de usuario; todo esto está interconectado: si en la lección 1 hablamos sobre la plantilla usando un cliente como ejemplo, en el siguiente paso hacemos un servidor basado en una plantilla de lenguaje de plantillas que representa tanto en la espalda como en el frente por igual. Esto nos permite crear una aplicación que proporciona contenido de forma inmediata y descargas en el proceso, sin cambiar el estilo ni reconfigurar las plantillas. En el camino, profundizamos en la tecnología y en cómo generar consultas de tal manera que encuentren rápidamente respuestas, cómo trabajar correctamente con la base de datos, cómo interactuar con el servidor, abordar problemas de seguridad, todo esto en forma de una clase magistral. Por supuesto, en cada paso codifico en tiempo real, hago solicitudes y muestro cómo lograr el resultado.Esto le permite comprender el proceso básico del diseño del sistema, y ​​luego todos pueden pensar en algo propio y mostrar estos chips en la defensa final de los proyectos.

En la segunda escuela, resultó estructurar los datos prácticos que un especialista necesita para trabajar. Como resultado, obtuvimos la mayor cosecha de pasantes que fueron en diferentes direcciones: desde la automatización de los procesos comerciales hasta el desarrollo móvil.

Estamos buscando informacion


Curiosamente, una habilidad tan simple como una búsqueda rápida de la información necesaria es muy importante durante el desarrollo. El punto clave aquí es la capacidad de identificar claramente la consulta de búsqueda. Mi primer mentor me envió constantemente a Google, respondiendo mis preguntas con enlaces al resultado de la búsqueda, me enseñó que la formación de solicitudes es un arte. Entonces, la habilidad básica de construir el pensamiento es útil aquí, de lo contrario Google podría ignorarte.

Por ejemplo.

Posible consulta de búsqueda para principiantes: cómo incrustar una base de datos en un proyecto / errores de incrustar una base de datos en un proyecto / texto de error.

Posible solicitud del desarrollador: incluya localdb en C #.

Esencia: Siempre es mejor buscar en inglés, ya que la mayoría de los manuales no están traducidos al ruso / traducidos por una persona que no conoce la terminología. Por cierto, al respecto, sí, para una solicitud exacta, necesariamente debe conocer la terminología. Por ejemplo, en esta consulta, uno de los tipos de la base de datos dentro del proyecto se llama LocalDB.

Estabilizamos el nivel de conocimiento


El grado de conocimiento de los graduados de 2 escuelas no podía sino alegrarse, pero estaba preocupado por el momento que, debido a diferentes problemas y énfasis, el conjunto de conocimientos de los estudiantes de diferentes graduaciones podría diferir. Por supuesto, el conjunto de herramientas que uso en mi trabajo es mucho más amplio de lo que doy en el curso. Esta vez logramos llegar al concepto de aplicaciones SPA, en las 2 primeras escuelas no hubo tiempo suficiente para esto. Como resultado, alineamos el plan de capacitación, aumentamos la duración de las clases y su número para estabilizar el volumen de conocimiento.

Manejo de errores


Para acercarme lo más posible a la situación real de trabajo, a veces cometo errores que a menudo se repiten (por ejemplo, cuando hacemos una solicitud de Ajax y especificamos incorrectamente los tipos, no podemos entender por qué se procesa el backend, y el frente considera esto un error / cuando enviamos datos en el tipo de datos incorrecto en la parte de atrás, y él nos dice que no pasó nada) y le muestro con un ejemplo de depuración qué está sucediendo exactamente y por qué podría caer en este lugar. Por ejemplo, cuando enviamos la plantilla al diseño de la página, luego tratamos de usarla, la mayoría de las veces se puede escapar a los caracteres, y generaremos html sin formato (la plantilla funcionará y html tendrá la forma de etiquetas de página); también aprendemos a evitar todos estos errores típicos. Y todos estos materiales serán especialmente útiles en la grabación.

Esto, por cierto, es un punto importante: para consolidar el material, asegúrese de utilizar grabaciones de video y, por supuesto, chats para la comunicación. Es importante para nosotros que los chicos tengan constantemente un código completo y la capacidad de hacer preguntas.

Aprende sobre tareas específicas.


Ahora, el problema en el personal para nosotros es que no hay especialistas listos para nuestro puesto en junio. Incluso si un especialista ha estudiado bien el tema, es poco probable que pueda combinar el conocimiento de las tecnologías para resolver un problema específico, porque es imposible aprender un lenguaje de programación sin tareas. Muy a menudo, las empresas "persiguen" a los Jones en teoría, y rápidamente los convertimos en trabajo. Como muestra la práctica, los graduados de la escuela pueden comenzar lo antes posible (generalmente después de una pasantía) a escribir un código que se puede ingresar al proyecto después de 1-2 iteraciones. Cuanta más información de alta calidad se presente en el curso, más rápido se incluirán en el trabajo de diseño y los proyectos son la vida de cualquier empresa de TI.

Si me piden consejo, entonces ...


... Aconsejaría a estudiantes y especialistas novatos que encajen en todas partes: mitaps, escuchen informes en línea y fuera de línea, estén al tanto de todos los eventos, porque La tecnología se está desarrollando a una velocidad tal que si no corres, te retrasas. Resulta un gran abandono de especialistas que no están involucrados y que no están interesados, simplemente te quedas atrás. Además, aproveche la oportunidad de asistir a eventos con descuento para estudiantes (spoiler: ¡ya nadie lo motivará más!).

... para profesores, y de hecho especialistas en TI con experiencia de 3-5 años, ¡te aconsejaría que lo probaras! Si incluso piensa que no puede enseñar algo único, recuerde que para alguien su experiencia puede convertirse en una verdadera visión. Al trabajar durante mucho tiempo en un área, puede parecer que no sucede nada interesante, pero siempre hay algo que usted sabe y sabe mejor que otros. Además, las tareas de rutina para usted, ¡para alguien hoy en día son un verdadero desafío! Recuerdo una vez que le mostré a juna una solución simple en mi opinión, y para él parecía muy inusual. Él entendió este ejemplo a fondo y ganó experiencia, ¡y esto es lo principal!

En lugar de salida


Como resultado, puedo decir que el esquema "institución educativa abstracta - escuela en la empresa - pasantía - trabajo" es más eficaz que la "institución educativa abstracta - pasantía - trabajo" estándar, porque después de 500 horas de pasantía el estudiante no siempre recibe lo que le damos en una escuela de desarrollo en unos pocos meses. La escuela es suficiente para obtener conocimiento general sobre los principios de estandarización, interacción y hacer rápidamente un "instagram", y con esto ya puede comenzar a trabajar. Al menos esta es nuestra experiencia, y ahora enviamos candidatos a la escuela.

All Articles