Es bien sabido que el camino a la especialización y el dominio de una habilidad o una carrera suele tomar años de trabajo y preparación, durante los cuales, es muy probable que te enfrentes con momentos de adversidad, bajas de ánimo, te decepciones, sientas que no progresas, etc. Para estos momentos, no hay nada más eficiente que encontrar motivación.
Programar parece complicado
Constantemente pienso y analizo, como una profesión tan bien pagada y con tanta demanda, puede tener un porcentaje tan bajo de formación.
¿A qué me refiero con esto? Es muy común, al menos en las universidades que yo he visitado, que en un grupo de estudiantes de alguna carrera afín a la informática, el 40% quiera dedicarse a programar, y en otros sitios me he contrado con grupos muy pequeños pertenecientes a un salón muy grande que quieren dedicarse a la programación.
Para mí personalmente, es muy raro que una gran mayoría de personas, que ya es afín a la computación, que ya eligió una carrera con mucha demanda y buenos salarios, decida mejor dedicarse a otras cosas.
Por supuesto que no tiene nada de malo querer dedicarse a las redes, al QA, al manejo de bases de datos, a la industria de la ingeniería de software, requerimientos, metodologías, etc. Todas estas son especializaciones muy interesantes de la informática, pero, aunque por un lado no tienen la demanda de la programación, lo más importante es que incluso si decides seguir cualquiera de estas alternativas, programar sería de mucha ayuda para ti.
Porque a final de cuentas, no es que los alumnos no quieran buenos trabajos o ganar bien, lo que no quieren es programar.
Motivación
En mi opinión, lo que a muchos de estos alumnos les hace falta es un giro de perspectiva acerca de lo que es programar. La realidad es que en muchas ocasiones estamos más preocupados por enseñarles los fundamentos que los beneficios de la programación, el por qué hay que hacerlo, el qué ventajas va a traer para ti.
Por otro lado, parte de la formación de un nuevo o nueva programador, debe incluir explorar las distintas tecnologías que hay en el mercado, hay que dejarlo conocer sobre realidad virtual, pero también sobre CSS, sobre algoritmos pero también sobre SVG, sobre C, pero también sobre Go, sobre HTML, pero también sobre aplicaciones web progresivas.
En mi carrera como profesional, han sido contadas las veces en que algo me ha volado por completo la cabeza, son estas las cosas que de repente me tenían pegado a la computadora experimentando con la tecnología que acaba de conocer, queriendo aprenderla al máxima para integrarla en alguna idea que tuviera:
Flash y ActionScript
Mi amor por la programación inició con Flash, era muy interesante porque a diferencia de otras tecnologías, Flash es extremadamente visual, puedes ver fácilmente tu código en funcionamiento, puedes ver cómo una variable, un ciclo o una condicional afectan la ejecución de tu código.
Otra cosa interesante, es que mi acercamiento a la programación surje como una necesidad, y no como un propósito. La programación fue algo que quise probar para mejorar algunas animaciones, crear botones, sliders, agregar físicas, colisiones, gravedad, etc. Es muy interesante porque la programación no era el objetivo, si no el medio.
Definir un objetivo y entender que la programación es el medio se me hace una de las formas más poderosas de mantener a alguien motivado y con ganas de continuar aprendiendo y practicando.
CSS3 y Canvas
Conocer Canvas cambió por completo mi carrera, de hecho no fue si no hasta mi curso de Canvas en que de verdad sentí que tomaba en serio lo de realizar tutoriales, crear uno de los primeros cursos completos en español de esa tecnología me ayudó a motivarme más a trabajar en la formación y la enseñanza.
CSS por otro lado me enganchó de por vida con la web (hasta ahora) ahí definitivamente me quedé con el desarrollo de aplicaciones web, los bordes redondeados, las sombras, las transformaciones y las animaciones, ver cómo algo que era complicado se transformaba en una sola línea de código, fue increíble para mí.
Esto para mi habla de lo importante que es estar continuamente introduciendo a los alumnos a nuevas tecnologías, pienso que sería muy útil que cada ciertas clases el profesor parara para mostrar un pequeño vídeo con alguna novedad de la web, de android, con alguna plática en YouTube, un live, una presentación, etc. Algo que impresione a los alumnos y los mantenga motivados. La tecnología particularmente es increíblemente buena para esto, porque constantemente hay novedades que mostrar a los que estamos aprendiendo.
Este punto también explica por qué una parte importante de la formación de un alumno es asistir a eventos, a talleres, a pláticas, a hackathones... porque ahí es donde vamos a escuchar hablar de lo nuevo.
Aplicaciones Web Progresivas.
Recientemente, las aplicaciones web progresivas me tienen con la boca abierta, he escuchado algunas pláticas muy interesantes y básicamente la idea de poder crear apps para la web, que sean prácticamente nativas me tiene muy emocionado.
Las progressive web apps no solo impresionan por su tecnología, si no también por lo que puede ser, por todas las ideas que puedes plasmar en forma de una app.
Algo que pude notar de algunos de mis mejores compañeros durante la universidad, es que muchos de ellos crecieron con un proyecto. El plan de estudios y la calidad de los maestros que tuve, se prestaron para que algunos de nosotros trabajáramos en un mismo proyecto, no solo durante varias materias, si no durante varios años.
Así la aplicación web que creaste en la materia de Programación Web, iba a tener un chat porque eso te pedían en la materia de Servicios Web, y también tenía documentación con todos los casos de uso, gracias a la matería de Ingeniería de Software, es decir, un mismo proyecto crecía increíblemente gracias a que se aprovechaban distintas materias para trabajar sobre éste mismo.
Eventualmente, ver a un proyecto crecer de una manera, que no podría ser si no fuera porque ha sido desarrollador por años, puede ser motivación extra para continuar trabajando en él por las tardes, en algún día libre, o incluso luego de haber salido de la universidad.
Es importante fomentar la perspectiva de que la programación es otra forma de expresar creatividad a través del desarrollo de tus ideas como proyectos de software.
Encuentra tu camino.
No todos los programadores se forman igual, no a todos les interesan las mismas cosas, no todos se motivan igual, no todos se enamoran del primer lenguaje de programación, no todos aprenden igual, no todos quieren seguir el mismo camino.
Es verdad que la programación no es ni debería ser para todos, está bien si no te gusta o si no es para ti. Sin embargo, considero que aún bajo la idea de que no todos los alumnos de una carrera afín a la informática van a querer programar, un buen porcentaje de ellos solo necesita un entorno distinto, una motivación diferente, incluso algo tan específico como otro lenguaje de programación.
Las escuelas deben tener un compromiso con la diversidad incluso en cómo motivan a sus alumnos, porque aunque algunos son motivados por aprender más, por sacar mejores calificaciones; algunos otros quizás quieran crear productos, conocer cosas nuevas, crear cosas que puedan ver o tocar, que se vean bien, que funcionen, que sean de ayuda para otros, etc.
Si hoy sientes que la programación no es para ti, quizás solo necesitas un cambio, un giro, algo nuevo. Para eso toma alguno de mis conejos prácticos:
- Asiste a un meetup o a un evento de programación, escucha acerca de nuevas tecnologías.
- Prueba un nuevo lenguaje de programación que nunca hayas usado.
- Cambia tu recurso de aprendizaje, si eran libros intenta con vídeos, si eran vídeos intenta con ejercicios, etc.
- Intenta desarrollar un producto, sientate seriamente con algún grupo de amigos y por varios días discutan y refinen ideas, personalmente les recomendaría tomarse su tiempo para decidir en qué quieren trabajar, y comiencen a hacerlo, antes ya he escrito sobre proyectos personales: https://codigofacilito.com/articulos/proyectos-personales
- Ve pláticas y tutoriales en YouTube, especialmente contenido que te acerque a las novedades de la tecnología, para eso te recomiendo ampliamente nuestro canal de YouTube: https://youtube.com/user/codigofacilito
- Cambia tu perspectiva, por un momento cambia tu forma de ver la programación, que el objetivo no sea ser buen programador, si no otro, quizás crear animaciones, juegos, un producto, ayudar a las personas, etc.
Conclusión
No trato de evangelizar a todos de aprender a programar, sólo veo el panorama global, los porcentajes de desempleo, la calidad de los trabajos en otras profesiones, etc. Y quisiera que más personas eligieran la programación con tal de tener mejores oportunidades de trabajo.
Programar no es para todos, pero debería ser para muchos más, de formas nuevas y diversas. La programación tiene un impacto tan grande en el mundo que también debe tener la obligación de formar a personas y trabajadores diversos, con motivaciones distintas o expectativas de éxito diferentes.
Ánimo.