Lecciones aprendidas después de 15 años impartiendo clases de programación | Programador Web Valencia

Lecciones aprendidas después de 15 años impartiendo clases de programación

12 minutos

Clases

Una de las decisiones que más me han costado tomar en la vida, sin duda, ha sido dejar de impartir clases. Pero como siempre he dicho a mis alumnos: «el agua que se estanca se pudre». Por muy seguro y estable que sea un trabajo, si no te aporta nada nuevo… tal vez sea momento de plantearse la incomodidad. Y eso es lo que he hecho. Me voy con la satisfacción de haber dejado huella en muchos alumnos, con 15 años de experiencia a mis espaldas e innumerables anécdotas.

Ahora, justo antes de irme, me gustaría compartir algunos de los conocimientos más importantes que he adquirido durante estos años. No solo para que los futuros profesores, que están leyendo este artículo, puedan aprender de mis errores; sino también para que los alumnos puedan entender un poco mejor el trabajo que hay detrás de cada clase.

Un poco de contexto

Puedes saltarte esta parte si no te interesa mis orígenes. Pero si eres un cotilla, aquí va un resumen rápido.

Di mi primer curso en el 2009, con 21 años, en la escuela CEI sobre programación en Flash (ActionScript). El centro tenían mi CV, no recuerdo como les llegó, y yo era el candidato perfecto para una oferta laboral (o problemon). Debía sustituir a una profesora que había desaparecido en mitad de un curso, y no encontraban a nadie que pudiera desenvolverse con Flash. Era tímido, joven e inexperto… pero estúpido y temerario: acepté sin dudarlo. Por las tardes preparaba la clase del día siguiente. Había noches que ni dormía.

Después de ese atormentado primer paso, y buen feedback por parte de los alumnos, contra todo pronóstico salí victorioso. Me propusieron ser el profesor de un nuevo curso: Java ME. Fue fácil preparar un temario rápido porque Java fue mi primer lenguaje de programación. Pero aún creía que dar clases tan solo era un trabajo temporal. Hasta que, mientras hacía un Mario bros con los alumnos para esos primitivos móviles sin apenas RAM, pensé: «¡Qué divertido! Y encima me pagan. ¡Esto es un chollo!». Y ahí, justo en ese preciso instante, es cuando decidí que iba a ser un profesor. Solo me auto impuse una condición: nunca sería mi trabajo principal. Me acompañaría, lo compaginaría, mientras hacía otros trabajos propios o ajenos. Fue una decisión clave para mi desarrollo. ¡Punto para mi joven yo!

A continuación vinieron otros cursos: Diseño Web, PHP, MySQL, Python, JavaScript… y muchas más tecnologías. Conocí otras escuelas, universidades, di talleres, hice amigos y viví mil aventuras cuyas tramas me llevaré a la tumba.

Ahora vayamos a algunas lecciones aprendidas.

Lo más valioso de un profesor es su temario

El temario es la base de cualquier curso o taller. Un guión imperfecto que irás limando con los años, ajustando su curva de dificultad y manejando con maestría sus tiempos para no aburrir a los alumnos. No importa la gracia con la cual cuentes las cosas: si el temario es malo, el curso será malo. Y si el temario es bueno, el curso será bueno. Eso es todo. Tal vez no destaques explicando en directo, pero si tienes un buen temario, lo podrás maquillar. Además, escribir te obliga a aprender, a estructurar y a pensar en cómo enseñar. Por otro lado te ayudará a trabajar con otros profesores. Sabrás como coordinante con ellos, y si tienes que abandonar el curso, no dejarás a nadie en la estacada.

Crear de cero temarios es realmente costoso de desarrollar, algunos me han robado meses y otros años. Entre mis compañeros siempre he notado cierto recelo a enseñar, y nunca en la vida se han prestado a ello. Y con razón. Pero dejarlo libre tiene sus ventajas, me explico. Otra buena decisión que he tomado ha sido publicar libremente mis temarios en una web (la mía), sin ninguna barrera como un registro. Así, si alguien quiere aprender por su cuenta, puede hacerlo. Y si alguien quiere entrar en mis clases, ya sabe qué se va a encontrar. Indirectamente, me ha traído alumnos y oportunidades laborales. Y ni hablemos de un buen SEO. Por otro lado, es cómodo, ya que no tienes que estar pendiente de los alumnos que no han asistido a clase o pasar apuntes.

Las tecnologías cambian, pero los fundamentos no. Por eso, un buen temario debe estar orientado a las bases del conocimiento, no en modas tecnológicas. Sin buscarlo, necesitarán menos actualizaciones, y por otro, los alumnos aprenderán a adaptarse a los cambios. Por ejemplo, enseñar JavaScript, no Vue versión 3.1. Enseña SQL, y después si quieres MySQL. TDD antes que Jest. Y así con todo. Las tecnologías concretas pueden aprenderse en el trabajo, pero los fundamentos son para clase. Después, si sobra tiempo, ya te puedes animar a dar el framework que más demande el mercado laboral.

Que no te seduzca la erótica del poder

Hay un tipo de profesor, el cual no me cae especialmente bien, que se siente superior a sus alumnos. Cuando habla sienta cátedra, sus opiniones son dogmas y sus alumnos son discípulos. Un gurú que no desea críticas. Posiblemente su motivación a la hora de dar clase sea sentirse superior a los demás, tener atención. Tal vez es porque en su vida personal no experimenta esa sensación. Recuerda: solo eres un hombre. La única diferencia entre tú y ellos es la cantidad de experiencia en la materia. Algunos alumnos, con el tiempo, acabarán superándote.

¡Cuidado con los que te acabarán admirando!, es muy peligroso para tu autoestima. Hoy eres su dios, pero mañana solo un recuerdo. Montarás en montañas rusas emocionales si no eres capaz de gestionar correctamente una barrera psicoógica. No caigas en la trampa. La humildad es una virtud que debes cultivar. También evita la carne, por muy accesible que sea. No te conviertas en un profesor de universidad.

Decir “no lo sé” es una respuesta válida

«No lo sé, pero lo investigaré». Y en la siguiente clase traes una respuesta con sus fuentes y una actualización del temario. El curso no se invalida por no saber algún detalle o no estar actualizado en minucias técnicas. Hasta las IAs se equivocan o tienen vacíos académicos, pues imagina un humano. Lo que no conoces es una oportunidad para aprender. Además, los alumnos te respetarán por ser honesto.

Siempre tendrás alumnos con varios niveles y debes estar preparado para ello

Habrán alumnos motivados, obligados a asistir a clase, que solo quieren el diploma, que no entienden nada, que están de paso, que están mirando el escote de un compañero o que ya saben más que tú. No vas a hacer feliz a todos ellos, pero si puedes crear varios niveles de dificultad en los ejercicios para contentar a la mayoría. Puedes dar explicaciones más generales, y dar algunas píldoras avanzadas para los de más nivel. Piensa en una película de Marvel. Hay bromas para niños, otras para adultos y unas pocas para frikis que han leído todos los cómic. La película es para todos, pero cada uno la disfruta a su nivel. Lo mismo debe ocurrir con tus clases. Y si tienes tiempo, puedes distraer a algunos alumnos mientras ayudas a otros. Por ejemplo, con ejercicios killer para los pros y elementales para los que les cueste más.

Compagina la docencia con experiencia profesional real

Otro acierto en mi carrera como docente. Si solo te dedicas a dar clase, acabas impartiendo clases muy académicas y alejadas de la realidad. Si solo te dedicas a la empresa privada, acabas perdiendo la capacidad de explicar y de enseñar. Son dos caras de la misma moneda. Los alumnos no son tontos, se darán cuenta de inmediato si tu experiencia es real o de librillo.

Por otro lado me ha permitido saltar al ámbito privado sin dificultad. Siempre he tenido ofertas de trabajo, y he podido elegir las que más me interesaban en cada momento. Además, me otorga una visión amplia del mercado laboral, y poder aconsejar con honestidad a los alumnos sobre qué tecnologías estudiar, qué empresas evitar y como enfrentarse a una entrevista laboral.

Dividir las clases en teoría + descanso + práctica

Es un trío que debe ir siempre de la mano. La teoría es necesaria para entender los conceptos, el descanso para que los alumnos mejoren su capacidad de atención y la práctica para que los alumnos fortalezcan lo aprendido. Siempre he tenido la costumbre de hacer un descanso a mitad de clase (a los 80 min para ser exacto), y de hacer ejercicios prácticos al final.

Por último, más de 3h de clase es demasiado. La capacidad de atención de las personas es limitada. Si no te queda otra, como fue mi caso en una época que daba clases intensivas de 6h, haz descansos cada hora e intercala ejercicios de grupo. Además oblígales a salir del aula, que desconecten y socialicen.

La hora del café es a veces más importante que la propia clase

Cuando estamos en el descanso suele ser cuando aparecen las dudas más interesantes y las conversaciones más enriquecedoras. Cuando los alumnos se relajan, y das espacio para hacer preguntas no relacionadas con las clases, se suelen soltar. Surgen temas laborales, dudas profesionales, anécdotas, y aspectos personales de cada individuo. Además, es un buen momento para hacer networking. No se descansa ni en el descanso.

Hay días que estas realmente agotado y no te apetece hablar con nadie. Puedes irte a hablar con otros profesores, o simplemente irte a dar una vuelta. Pero que no sea la norma.

Son alumnos un tiempo, pero exalumnos para siempre

Siempre he tenido la costumbre de mantener el contacto con los exalumnos más interesantes, saber cómo les va en su vida profesional. Incluso quedar para tomar un café unos meses más tarde para obtener feedback de sus prácticas. Así puedo ajustar algunos elementos del temario. Por otro lado, gracias a ello, un selecto grupo de alumnos han acabado siendo compañeros de trabajo, clientes o amigos. Incluso me han recomendado en sus empresas para hacer algunos trabajos.

Cuidar a tus exalumnos es una inversión a largo plazo. No lo menos precies. Pensarán en ti en el momento adecuado.

No todo el mundo tiene que aprender a programar

Me costó varios años entender que solo un porcentaje muy pequeño iba a aprender a programar, y que no era mi culpa. Las personas poseen diferentes capacidades de abstracción o lógica. Algunos son incapaces de entender como se escribe código sin copiar. Lo cual tampoco significa que los dejes a su suerte, sino que les enseñas otras herramientas para que puedan trabajar en el mundo digital. Por ejemplo: de automatización, flujos de trabajo, a aprender a comunicarse con un programador, comprender limitaciones del software, tareas de gestión, etc. Que sea un conocimiento útil para su futuro trabajo.

Nunca mezcles negocios con docencia

No uses los alumnos para proyectos externos o como mano de obra barata. Se sentirán explotados, el trabajo será de mala calidad y estarán tan agobiados que no aprenderán nada.

Tampoco dejes que te contraten durante el transcurso de las clases, ya que acabarás dándoles un trato preferente. Aplaza las reuniones para después del curso. Por mucha urgencia que tengan, no es tu problema. Prioriza las responsabilidades o recomienda a un compañero.

Cuando enseñes tecnologías que te aburran, busca la pasión

Cuando un profesor no siente pasión por lo que enseña, se nota. Me encantaría decirte: Si no te gusta algo, no lo enseñes. Pero el mundo no va así. Cuando te toque dar una tecnología en la que no crees, busca la manera de hacerlo interesante incluyendo otras bases que sí consideres importantes. Por ejemplo, si debes impartir PHP orientado a crear plantillas de WordPress y detestas ambas tecnologías, puedes enseñar también TDD, patrones de diseño, componentes, como se depura, APIs, etc. Siempre hay algo interesante que enseñar.

Aprende de otros profesores

Si tienes la oportunidad, observa a otros profesores. Tanto compañeros como divulgadores. Escucha charlas, ojea cursos online, descarga esquemas de otros profesores, lee libros de pedagogía, etc. Si prestas atención, podrás aprende de sus errores, aciertos y forma de explicar. Además, te ayudará a no caer en la rutina. Lo cual no significa que debas copiarles, sino adaptar sus técnicas a tu estilo. Por ejemplo, yo he aprendido mucho de los profesores de matemáticas, que tienen que lidiar con alumnos que no quieren estar ahí. Son auténticos magos de capturar la atención mediante elementos visuales, juegos y ejercicios.

Si quieres ganar dinero y tener tiempo libre, no te dediques a la docencia

La docencia es un trabajo que requiere mucho tiempo, esfuerzo y dedicación. Hasta que no te pongas la chaqueta con coderas, no lo terminarás de asimilar. Al igual que la programación, no es para todo el mundo. La docencia es para personas con un carácter muy específico, vocacional. A cambio, sentirás una de las satisfacciones personal más grandes que puedes vivir en un trabajo. Cuando un alumno te dice que le has cambiado la vida, sientes que tus lecciones trascienden. Es real. En mis aulas han habido alumnos que les he ayudado, mediante las lecciones, a lidiar con la muerte de un familiar, con problemas de autoestima, les he descubierto una pasión, impulsado a salir de un trabajo tóxico, a distraerse mientras luchaba contra el cáncer, e incluso a una chica le presenté a su pareja de vida (yo). Recuerdo cada alumno, cada situación, y me siento orgulloso de haber estado ahí. Sus nombres se desvanecen paulatinamente de mi memoria, por suerte las repercusiones de mis clases resonarán en ellos para la eternidad.

¿Quieres ganar dinero y tener tiempo libre? ¿Terminar a una hora concreta? Trabaja para el sector privado. La docencia es para personas que quieren cambiar el mundo, no para las que quieren vivir en él.

Otros detalles técnicos

Para acabar, algunas recomendaciones personales. Una lista de las tecnologías que mejor me han funcionado en clase.

  • JavaScript es un buen lenguaje para empezar. Es visual, accesible (solo necesitan un navegador web, que tendrán) y su mercado laboral es enorme. No debes mezclar tus preferencias personales con las académicas, yo hubiera preferido muchos otros lenguajes, te lo aseguro. Hay herramientas idóneas para enseñar y otras para desarrollar.
  • Lleva siempre tu propio material, no dependas de la escuela. Ello incluye: portátil, adaptador HDMI, puntero, micrófono y cámara. Además de licencias de software, como IntelliJ, IAs, etc.
  • Con OBS puedes grabar las clases. Tan solo con grabar el escritorio y el audio ya es suficiente. Pero si incluyes la webcam para que te vean gesticular ya es la bomba. Sube las grabaciones a la nube para que los alumnos las vean a posteriori. Además, puedes hacer streaming para los alumnos que no pueden disfrutar la clase, lo hagan en remoto.
  • Mejor compartir archivos en la nube, con Dropbox o Google Drive, que con Git. No todos los alumnos saben interactuar con un repositorio. Por otro lado, si trabajas dentro de una carpeta compartida, a la que tengan acceso los alumnos, ¡compartes tus avances en tiempo real!
  • Si vas a compartir tus apuntes, como he comentado antes, nada mejor que el HTML. Puede ser mediante un blog, un generador de sitios estáticos o lo que gustes. Pero que sea un contenido donde los alumnos puedan navegar o explorar las lecciones. Y si incluyes ejercicios, además de un formulario para que puedan enviarte las soluciones, mejor que mejor.
  • VSCode es muy buen editor para la enseñanza, pero WebStorm o PHPStorm son mejores. Ya vienen equipado con todo, sin necesidad de instalar extensiones. Además, puedes compartir tu configuración con los alumnos. Si estas en una escuela reconocida, con el email del dominio, puedes obtener una licencia gratuita. A igual que los alumnos.
  • Normalmente los alumnos no saben interactuar con foros. Lo más cómodo para todos es un grupo de chat.

Conclusión

Es momento de cultivar mi faceta profesional. Voy a centrarme en continuar mejorando mi inglés, aprendiendo nuevas arquitecturas de software y experimentando dinámicas de equipo (las organizaciones ágiles son mi droga). No me veo en el futuro delante de otro proyector, a no ser que sea para dar una charla. Además, en mi nuevo trabajo estoy a tiempo completo, y ahora tengo un gato.

Lo cual no quita que puntualmente continúe creando proyectos Opensource y siga compartiendo conocimiento en mi blog o cuenta de Mastodon. Además, mi temario seguirá estado disponible en mi web, aunque avisados estáis que paulatinamente se irá desactualizando.

Siempre estaré agradecido a la docencia por todo lo que me ha aportado y a los amigos que he hecho por el camino. Gracias a todos los alumnos que he tenido por darme la oportunidad de guiaros en el salvaje mundo de la ingeniería de software y el desarrollo web. Ha sido todo un orgullo. Y recordad: Espero mucho de vosotros.

Aquí termina mi última lección. Hasta siempre. 👋️

English version

Esta obra está bajo una Licencia Creative Commons Atribución-NoComercial-SinDerivadas 4.0 Internacional.

Atribución/Reconocimiento-NoComercial-SinDerivados 4.0 Internacional

¿Me invitas a un café? ☕

Puedes hacerlo usando el terminal.

ssh customer@andros.dev -p 5555

Comentarios

{{ comments.length }} comentarios

Nuevo comentario

Nueva replica  {{ formatEllipsisAuthor(replyComment.author) }}

Acepto la política de Protección de Datos.

Escribe el primer comentario

Tal vez también te interese...