A desarrollar software, por primera vez… ¿se aprende en la calle?

Una de las cosas que con el tiempo más he llegado a apreciar, del destino profesional que me tocado vivir en estos últimos años, es que éste me haya llevado a conocer tantas empresas y proyectos diferentes.
Esto no siempre tiene que ser necesariamente bueno, no todo es color rosa, ni mucho menos, pero aprecio especialmente que, con el tiempo, esto me haya permitido abrir mi mente a decenas de buenas prácticas y maneras diferentes de hacer software.
Pero, especialmente, aprecio el haber ido observando patrones que se repiten en la mayoría de las empresas, y que después de verlos muchas veces empiezan a dibujar en tu cabeza cómo es el sector de la informática.
Una de esas “cosas”, que en los últimos tiempos me llaman mucho la atención, es cómo parece que las personas aprenden a desarrollar software (y a gestionarlo, planificarlo, configurarlo, probarlo, calidad, etc.).
La mayoría de las veces que tengo oportunidad de hablar con alguien y sale el tema de “- oye, y tu cómo aprendiste a hacer x de esta manera-”, la respuesta más generalizada es:
– “Yo, a aprendí programar Java/C++/ x cuando llegue aquí, a la empresa”
– “A usar una herramienta de control de versiones/pruebas/incidencias/ x aprendí cuando llegue aquí, a la empresa”
– “Lo que es una metodología ágil/no ágil/UML/ x me lo enseñaron en mi primera empresa”
– …
No siempre es así. Claro. Hay quien llega “con todo sabido” a la empresa, pero, y quizás sea mi experiencia personal, pareciera que la mayoría de la gente aprende desarrollo software en la calle (es decir, en la empresa).
Eso puede ser bueno, o malo, y en cualquier caso llevarnos a varias conclusiones.
Puede ser bueno, porque sí, porque es bueno que el conocimiento práctico se transmita de profesional en activo a profesional que comienza a estar en activo, y porque quizás no exista otra manera de aprender de verdad esta profesión.
Puede ser malo, porque depende de donde te toque, aprendes bien… o aprendes mal, tomas “malos vicios” para siempre, de los que te cuesta salir, sino es a base de esfuerzo personal, en ratos libres, o porque te vayas a otro sitio.
¿Y qué papel juega en todo esto la Universidad? Yo he constando de que hay grandes docentes con gran conocimiento y dotes de enseñanza, y que son la mayoría. Pero que apenas tienen tiempo de enseñar todo lo que necesita un profesional hoy.
¿Faltan más asignaturas que aporten ese tiempo? ¿se quedan los planes de estudio atrás demasiado rápido? En mi opinión, así es. Y si tenemos grandes docentes, que no pueden transmitir todo su conocimiento, y profesionales que tienen que aprenderlo en «la calle»… tenemos, en los tiempos (y economías que vivimos) un problema que rápidamente deberíamos resolver.

jgarzas

Ph.D. en informática, Postdoctorado en la Carnegie Mellon (EE.UU) e Ingeniero en Informática.

Primera vez que me tocó hacer una gestión Ágil en una empresa... año 2001. Desde entonces he trabajado en, o para, más de 90. Y he formado a más de 2000 alumnos.

También soy profe de la Universidad Rey Juan Carlos.

0 comentarios en “A desarrollar software, por primera vez… ¿se aprende en la calle?”

  1. Hola Javier,
    supongo que depende de la universidad, yo tuve la suerte de estudiar en la Universidad de La Coruña, con unos profesores que me enseñaron muchísimas cosas útiles, era una facultad de las consideradas «difíciles» sí, no te regalaban nada, pero cuando sales al mercado laboral se nota. Eso gracias a profesores muy buenos y muchos de ellos con experiencia en empresa, lógicamente había algunos demasiado matemáticos para mi gusto que llegadas algunas alturas en la carrera ya no hacían tanta falta, pero nada grave. Nos enseñaron el conocimiento de herramientas como Maven o SCM como Subversion, a realizar aplicaciones web con Java y con .NET, todas iterativamente, con los frameworks de desarrollo actuales. Tuve la suerte de aprender Patrones de diseño y UML con el gran Victor Gulías (DEP), a analizar sistemas con Miguel Rubio y toda su experiencia, la calidad nos la enseñó Javier Andrade (todos ellos con experiencia en empresa), la formación en Bases de Datos fue muy buena, aprendimos muchísimos lenguajes, lógicamente salen otros nuevos y esos hay que aprendérselos en la empresa o como es mi caso, en casa. Otras cosas te las enseña la empresa, tecnologías con las que quieren que trabajes o certificaciones que les interesan para formar al empleado y ganar clientes.
    Resumo, lo importante desde mi punto de vista, es que la universidad forme a buenos ingenieros con una buena base para aplicar procedimientos y aproximaciones de ingeniería a su trabajo diario. Después, todos debemos de aprender en la empresa, a algunos también nos gusta hacerlo en casa, porque esta es una profesión muy cambiante y en la que salen cosas nuevas continuamente y debemos mantenernos actualizados.
    Saludos,
    Alberto

  2. Hola, Javier.
    El desface entre Universidad y Empresa a nivel tecnológico es evidente. Sin embargo, creo que valorar el papel universitario solo por si aprendiste un determinado lenguaje no me parecería acertado, al menos hablando de lenguajes de programación. Teniendo en cuenta el poco tiempo que hay para enseñar, creo que los profesores deben enfocarse no solo en enseñar herramientas concretas sino también deben mostrar a los alumnos que nuestra área es un área siempre cambiante, donde conformase con «saber una cosa» no es suficiente, y donde siempre hay que tener la mente abierta a recibir nuevas ideas. En fin, que el papel universitario va mas allá de enseñar herramientas concretas, es también enseñar esas bases que te servirán después para aprender mas rápido las herramientas concretas de un momento. O por lo menos, eso creo yo.

  3. Carlos Diaz Alvarado

    Definitivamente el proceso de aprendizaje tiene varias etapas: Obtencion del Conocimiento o Manejo de las distintas herramientas y Metodologias, Practicas Academicas, Practicas pre-profesionales, Practica-profesionales, Ejercicios profesional, Especializacion, etc.
    Usar la experiencia del trabajo en empresas como escuela no es nada recomendable, pues en la mayoria de casos hay que corregir procesos.
    Ahora, aprender a usar las herramientas en el ejercicio profesional me parece algo «sinvergueza». Como entonces exigir un salario digno si tu nivel academico no es competitivo?.
    Las mejores practicas de gestion se obtienen de experiencias en las mejores empresas con casos de exito y las mejores herramientas de desarrollo se aprenden de los expertos.
    Asi que a estudiar en un muy buen lugar, No en la Calle!!!!.
    Carlos

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *