Code Monkey


Hace unos años me fui a Alemania a estudiar economía durante un curso. Era el primer año que me dedicaba por completo a esta rama que había escogido al inicio de la carrera y estaba entusiasmada por poder especializarme en ella, al tener la oportunidad de dedicarme enteramente a la misma. Por ello, durante el tiempo que estuve allí me di cuenta de que dependiendo de la universidad donde escogieras estudiar esta materia de conocimiento, la orientación en el aprendizaje era diferente. Podía ser más teórico o más práctico, si me permiten esta somera bifurcación. Esto supuso para mí el descubrimiento de un mundo nuevo: el de la programación. Y es que tal era mi desconocimiento por aquel entonces, que cuando un compañero me enseñó un gráfico de un estudio que estaba elaborando, no comprendí la complejidad que encerraba él mismo hasta que no me introduje en el desarrollo de esa área.

Cuando una persona principiante empieza a programar se encuentra con una serie de dificultades que tendrá que solventar, soslayar o adaptarse para poder continuar en su proyecto. La primera de ellas es la búsqueda de datos, la cual no sólo implica un coste temporal generado por encontrar datos que encajen en aquello que pretendes analizar, sino que, en ciertas ocasiones, puede ser que los mismos no existan. Puede ser que aquello que buscas no se haya recogido a dicho nivel de agregación, o no se encuentre para el periodo de tiempo que necesitas a la hora de implementar el método de análisis que hayas seleccionado. Y es que, al final, la programación es como la vida misma. En ocasiones, tienes a tu disposición todo aquello que teóricamente necesitas para salir airoso, pero otras veces tienes que aprender cómo alcanzar el resultado que quieres sin abandonar tu meta, pues, como dijo Emilio Duró: “la vida te da las cartas, no puedes cambiarlas pero tu decides como jugarlas”. No obstante, he de precisar, que en ciertas ocasiones, tanto en programación como en el día a día, hay que aprender cuándo ha llegado el momento de reorientar los objetivos dadas las limitaciones que se te presentan. Y es que no es menos constante el que decide abandonar un camino, pues al pararse y recapitular le permite ver la situación en su conjunto y no obstinarse en un punto. 

El segundo obstáculo para un amateur en la programación, diría que el principal, es intentar correr sin saber caminar. Una de las primeras aspiraciones de una persona que empieza a encariñarse con la investigación es lograr expandir la frontera de conocimiento. Sin embargo, para conseguirlo uno se da cuenta de que ha de haber aprehendido las bases para poder adentrarse en cuestiones más complejas. Es por ello que una limitación posible es el desconocimiento de cómo traducir una idea al lenguaje de programación que uno sabe. Empero, como comenté anteriormente, creo que como toda aventura en la que uno se embarca, uno tiene que ser realista y honesto con las herramientas que se parten y, a partir de ese instante, evaluará cómo puede mejorar y perfeccionar paso a paso las mismas y ampliar ese arsenal.

Esta falta de conocimiento en programación se suple buscando información en internet, y es que la lengua de los programas informáticos es como otro idioma. Uno va aprendiendo los verbos, los artículos, los sustantivos, el orden de los mismos… para poder comunicar aquello que pretende transmitir al que le escucha. Lo mismo pasa con un lenguaje de programación, se tendrá que aprender una serie de comandos para poder transmitir al programa qué ha de hacer. Por ello, al igual que, generalmente, tenemos que invertir tiempo en aprender inglés, por ejemplo, lo mismo sucede para este lengua. Por eso, esta faceta puede ser frustrante, pues, la falta de conocimiento de los comandos sería cómo llegar a un estado en el que chapurreas una lengua y al tratar de comunicarte con los nativos del lugar sientes esa barrera idiomática. No obstante, la clave, en mi opinión, no es retirarse inicialmente en el propósito, sino intentar; si es en el lenguaje verbal, explicar el concepto del que no hallas su término preciso; si es en el lenguaje de programación, usar comandos básicos. Al final, es un ejercicio de prueba y error. Dándole a esa equivocación no un connotativo negativo, pues como dijo Robert Kiyosaki, “no hay errores en la vida, solo oportunidades de aprendizaje”.

He de decir que hay situaciones en las que completamente hay un vacío de conocimiento en cómo poder escribir aquello que pretendes, pero, habitualmente, hay alguien que ha tenido una dificultad semejante y puedes encontrar la solución que le han dado. O incluso puedes preguntar, y un conjunto de personas propondrán formas de soslayar ese obstáculo. Todo ello, es un claro ejemplo de cómo tenemos que darnos cuenta que no está mal no saber algo, lo verdaderamente perjudicial es no acudir a aquellos que creemos pueden saber la respuesta por múltiples motivos, experiencia, mayor conocimiento en la materia… Siempre he creído que el limitarnos a nuestro saber impide crecer en un área. 

Con todo ello, simplemente, desde la perspectiva de una estudiante que va adentrándose en el mundo de la programación, quería transmitiros lo complicado que puede ser este entorno, que muchas veces, como me pasó a mí, no es apreciado. Asimismo, he de decir que la gratificación que consigues tras alcanzar aquello que tanto tiempo costó es inmensa, y, posteriormente, una vez que vas probando y probando, cada vez se hace más sencillo lo que no sabías, pero siempre hay un reto escondido que te hace sentirte como aquellos momentos en los que desconocías el lenguaje. 


Por Ana Fernández Bejarano


Canción de inspiración: "Code Monkey" de Jonathan Coulton