lunes, 9 de marzo de 2009

¿Como enseñar a los programadores del futuro?


Por estos días ando cuestionandome un poco acerca del por que las ciencias de la computación cada vez atren menos, "academicamente hablando", a los jóvenes y futuros profesionales, y es de resaltar que esto solo ocurre academicamente, por que, por el contrario, cada día el uso de las tecnología de información es más natural y popular.

Pues bien, para nadie es un secreto, que hoy por hoy, dedicarse a ser programador es un camino tortuoso y en ocasiones mal remunerado, hay trabajo de más, presión, tecnologías cambiantes, clientes cada vez más exigentes y ni que decir de los encargados de vender y negociar los proyectos, que nos dejan embarcados en proyectos inmensos, con tan solo unos meses de tiempo disponible para desarrollarlos completamente, y con la pesada amenaza de que la empresa será demandada, si no entregamos a tiempo.

Bien, si, es comprensible, este no es un escenario bonito, pero alguien tiene que hacerlo, y hay que buscar la forma de educar a las nuevas generaciones, además de para amar un tanto el tema, pues a hacerlo mejor, para que el escenario no sea tan cruel.

A parte de eso, los profesionales tenemos que lidiar con el tema de que la mayoria de la población se cree que ser un profesional en sistemas es dedicarse a arreglar cacharros o a programar, y pocos se dan el beneficio de la duda, de ahi sale una pelea bizarra en la que los autodidactas terminan sabiendo lo mismo y más que los mismos profesionales, y sí, tecnicamente existen muchos casos de esos, pero cuando de trabajo profesional se habla los que conocen de ambos lados y han atravesado un serio crecimiento al por que hacer tu trabajo con calidad en lo que se refiere a las tecnologías de información, pues tienen bien clarita la diferencia.

Pues bueno, enseñar esa diferencia es un tema problematico, darle valor a tu trabajo frente a clientes que aseveran que un grupo de programadores autodidactas puede hacer lo mismo que un equipo de profesionales, es una pelea en la que ni siquiera vale la pena entrar, simplemente dejar que el tiempo le enseñe al cliente si tenia o no tenia la razón.

Sin embargo a hoy mi preocupación es bastante alta, cada semestre aumenta la proporción de los alumnos que llegan a mi salón de clase diciendome "Profe, es que a nosotros no nos gusta programar"... recuerdo como hace unos años les decia, hombre vale, no interesa, ni que programar fuera lo unico que hubiese para hacer en la informática, y es que así es, pero mi nueva preocupación está en el hecho de que si hay que tener ciertos conocimientos básicos y criterios que fundamenten tu trabajo en lo demás, por que si bien la programación no lo es todo, si es donde recide el todo, si no hay software, no hay programadores, ni ningun otro rol sustentable.

Así que finalmente todo redunda en que necesitamos gente que ame del todo un poco, y tambien gente que ame el especifico o que al menos este dispuesta a asumirlo. Yo por ejemplo enseño la visión del "de todo un poco" pero soy una programadora neta en mi trabajo, y si bien tengo otras inspiraciones al futuro, en lo que confio plenamente es en que la experiencia que estoy teniendo sustentará fuertemente ese futuro que yo desee elegir e incluso me dará variedad de opciones de donde elegir, situación que cambia cuando eliges algo específico, terminas por no poder hacer si no eso el resto de tu vida.

Pues bien, ya les he contado mi opinión, y quiero invitarles a leer el árticulo tan interesante que encontré y por el cual se llama este post, como se llama.

¿Como enseñar a los programadores del futuro?

Les resalto un frase que me llamó bastante la atención, que me mueve las fibras y me hace cuestionar para ser mejor cada día como docente:

El primer obstáculo al que creo todos los programas académicos deben reaccionar es que, muchos alumnos sienten que programar es una tarea tediosa, un rol que se verán forzados a desempeñar durante los primeros años de su trabajo, en lo que logran un ascenso a un puesto de “responsabilidad”. Esto es, en buena medida, por lo torpe que resulta la enseñanza de los conceptos y habilidades básicos de la programación.

Está en las instituciones, está en los docentes y está en los estudiantes poner de su parte para que la educación en conjunto sea mejor cada día de lo contrario, y sin una de las tres partes, las otras dos no tienen buen futuro.

PD: Navegando un poco más me encontré con que la Carnegie Mellon tiene una herramienta gratuita para la enseñanza de la POO a los más peques que se interesan en esto del software, les invito a mirarla http://www.alice.org/

3 comentarios:

Francisco Martinez dijo...

Me encanta este tema y me parece que el asunto debe comenzar en el colegio, ya no podemos seguir enseñando con:
Cobol, C++ o a punta de diagramas a papel.

Exiten herramientas excelentes como Alice para intermedios, pero para los mas chicos hay un programa excelente del MIT, llamado Scratch, facil de instalar y con los conceptos basicos de programacion.

Cualquiera interesado en este tema debe revisar estas dos herramientas.

Espero mas entradas sobre este tema.

CAMILO CASTELLANOS dijo...

El futuro del desarrollo de software no es tan especifico sobre una herramienta, es mas abstracto, de tal manera que puedas desplegar una solucion sobre la tecnologia que se adapte mas a tus necesidades, el futuro es MDA.

Ruben dijo...

Me parece que has tocado un punto sensible en al enseñanza d ña rpgramacion. Y asi es tienes toda la razon, aunque no queremos verlo nos estamos quedando sin programadores aun futuro cercano. quien sabe si se rdifinairan estos programas a uno solo o crearan un version standar para cualquier usuario a un tiempo (x), pero lo que si sabemos es que debemos buscar como tu Sorey herraminetas mas faciles para una generacion que ya no les gusta razonar.y por eso ¡felicitaciones¡