En un e-mail de mi hermano Aitor que está estudiando Ingeniería de Telecomunicaciones en Valencia leo lo siguiente:
«También voy a empezar a meterle caña a Php y Mysql a ver si aprendo cosas útiles de una vez»
Dentro de esta simple frase se encuentra implícita una de las grandes polémicas de Ing. de Telecomunicaciones e Informática donde hay que dedicar varios años a estudiar matemáticas y física pura y dura. A continuación pasamos a estudiar y aprender como funcionan ciertas aplicaciones y/o procesadores que algunos profesores diseñaron para sus cursos de doctorado etc. Según mucha gente todo esto no sirve para nada, porque al salir al mundo laboral hay muchas cosas que importan bastante más, pero…
Lo primero que deberíamos intentar responder es: ¿Qué es realmente útil aprender?. Todos estáis esperando que os de la respuesta definitiva a esta gran pregunta, pero como siempre, no existe la solución definitiva.
En mi caso ahora mismo estoy trabajando con Reconocimiento Automático de Voz (RAV). Resulta que esta disciplina requiere conocimientos en muchos campos para poder entender realmente todo el sistema. Voy a enumerar una serie de asignaturas que he cursado durante los últimos años que creo me están siendo útiles para entender lo que estoy haciendo en el trabajo actual.
Cronológicamente, en las clases de Lengua y Biología del instituto aprendí las bases de la formación de sonidos y palabras, la base del reconocimiento de voz. También en aquella época en el conservatorio de música recibí un curso básico de Armonía donde aprendí ciertos conceptos que he vuelto a ver trabajando aquí en Japón. Como podéis ver en aquella época nunca habría pensado que esos conocimientos pudieran ser de utilidad teniendo en cuenta que quería ser informático en el futuro.
En la universidad, las asignaturas de Ingeniería Informática de la Universidad de Alicante: Cálculo, Álgebra, Física, Estadística, Lógica, Programación, Lenguajes Gramáticas y Autómatas, Inteligencia Artificial, Técnicas de Inteligencia Artificial, Sistemas Conexionistas, Aprendizaje, me aportaron conocimientos que me están siendo útiles de forma directa para trabajar con reconocimiento de voz. ¿Y por qué digo lo de «forma directa»? Pues porque de forma indirecta, yo pienso que todo ha sido útil simplemente por el hecho de que el principial objetivo de las ingenierías es modelar tu cerebro para poder resolver problemas.
¿Qué ventaja tiene aprender a resolver problemas en vez de aprender a utilizar aplicaciones comerciales que utilizan las empresas? La capacidad de resolver problemas es algo que te sirve para toda la vida, pero si aprendes a programar en el lenguaje X o aprendes a trabajar con el sistema gestor de bases de datos Y, seguramente al cabo de unos años nadie utilice el X ni Y.
Con esto no quiero decir que no sea importante saber cosas en concreto, simplemente la idea es que si sabes programar en general, te será mucho más fácil aprender cualquier otro lenguaje de programación. Una pregunta muy típica es ¿qué lenguaje de programacion aprendo? ¿cual es mejor?, la respuesta es: aprende a programar!!, no aprendas un lenguaje. Si sabes trabajar con bases de datos en general no será mucho problema cambiar de un sistema a otro. Si sabes programar microcontroladores no será difícil cambiar de un modelo a otro. Y así con cualquier otra cosa que se os ocurra.
En las enseñanzas técnicas universitarias se suele optar por las enseñanzas generales. Por ejemplo, ahora en el trabajo el lenguaje que más se utiliza es PERL. Es un lenguaje que nunca nunca me enseñaron, ni utilicé en la universidad, allí simplemente me enseñaron a programar en general. Bueno, en realidad aprendí a fuerza de practicar. Y no echo de menos una asignatura sobre PERL en la carrera porque puedo resolver el problema yo solito ya sea usando libros, internet o lo que sea.
En cambio si que hay algo que echo de menos, algo general de lo que me gustaría saber más es: Matemáticas y Física!!. Si, habéis oido bien, a mi me gusta saber realmente los entresijos de lo que estoy haciendo, y para entender el sistema en el que trabajo cuanto más ágil sea con las mates mejor. En concreto sería más feliz conociendo los entresijos de todas las maravillas que creó nuestro querido amigo Fourier por ejemplo. Si hubiese recibido más conocimientos genéricos sobre estos temas ahora me sería más fácil entender los detalles de las etapas de adquisición de datos y análisis acústico que se utilizan en reconocimiento de voz.
Yo, informático me quejo de mis pobres conocimientos en matemáticas, física, tratamiento de la señal etc. Mientras que mi hermano, telecose queja de sus pobres conocimientos en temas de programación.
Como veis, lo que echamos de menos es tener más conocimiento en temas genéricos. Yo creo que los conocimientos genéricos a la larga son más útiles que los conocimientos concretos. Lo cual no quiere decir que los conocimientos concretos también sean importantes. Yo pondría como norma general para tener éxito: «Aprende un poco de todo, y mucho de algo en concreto» (Creo que esta frase de de alguien famoso de cuyo nombre no me acuerdo). Yo solo cumplo con la primera premisa, que es la que conseguimos con unos estudios universitarios, así que habrá que buscar «algo en concreto» con lo que profundizar, que es lo que se encuentra entrando en el mundo profesional.
Volviendo a la primera frase de mi hermano sobre PHP+Mysql, se trata de una de esas «cosas concretas» que son realmente útiles hoy en día. PHP+Mysql es algo que casi seguro os será de utilidad en vuestra vida profesional tarde o temprano.
Mi hermano (Teleco) intenta aprender PHP y yo (Informático) intento entender los entresijos del Fourier.
Lo importante, no es si algo es útil o no, sino estar siempre aprendiendo cosas. Les resultados vendrán por si solos, nunca se sabe cuando algo te puede ser útil. Y las matemáticas, la física y otras enseñanzas genéricas que pueden parecer aburridas e inútiles, a la larga veréis que realmente sirvieron para darle ese punto ingenieril a vuestro cerebro.