Los mejores programadores de la región están en Medellín

Los estudiantes del grupo Fast and Fourier, premiados como los mejores programadores de Ecuador, Venezuela y Colombia, dan sus consejos para quienes quieren aprender esta disciplina.

Simón Fallón, Santiago Cano y Martín Díaz son estudiantes de Ingeniería Matemática de la Universidad Eafit, en Medellín. Los tres conforman el equipo de programación competitiva Fast and Fourier que en julio del año pasado terminó en el primer lugar de la competencia regional latinoamericana.

Allí le ganaron a todos los competidores de Venezuela, Colombia y Ecuador y aseguraron así su participación en la próxima competencia mundial de programación, que se realizarán en noviembre de este año en Bangladesh.

Allá viajarán los tres paisas, de los que hoy dos, Santiago y Simón, se encuentran realizando una pasantía laboral en Londres, trabajando para Facebook. Martín, por su parte, el miembro más joven del grupo, está cursando su cuarto semestre en la universidad. 

La programación, en sus diferentes grados de complejidad, se encuentra en una amplia variedad de disciplinas que va desde las Ciencias Sociales y Humanas a las Ciencias Naturales, pasando por las Matemáticas o las ingenierías.

Tanto así que, aunque Simón, Santiago y Martín aseguran que el razonamiento lógico y matemático que han desarrollado a partir de sus carreras sí ha contribuido a su éxito, también coinciden en que cualquier persona, sin importar su disciplina, puede aprender a programar en el lenguaje de su preferencia.

Así, entonces, los mejores programadores de Colombia y de la región norte de Suramérica comparten algunos recursos y consejos prácticos para que las personas interesadas se aventuren en el universo de la programación.

programadores dentro
Martín (a la izquierda) está cursando su cuarto semestre de Ingeniería Matemática, Santiago y Simón (en el centro y a la derecha, respectivamente) están realizando pasantías de grado en Londres, en Facebook. / FOTO: Eafit

Consejos

Perder el miedo

Dice Martín que lo primero y tal vez más importante para empezar es perderle el miedo a la programación. “La gente suele asustarse por el tema, pero cuando uno está motivada aprende muy rápido. Creo que cualquier persona que estudie con motivación, puede aprender la mayoría de los lenguajes». 

Estudiar en grupo 

Los tres coinciden en que tener un grupo con el que estudiar es la mejor manera de aprender a programar. 

“Uno a veces se bloquea, se encuentra con que tiene un error y el código no corre, pero uno no tiene ni idea por qué. Uno busca en internet y no es capaz, y se queda pegado sin poder pasar. Pero cuando cuenta con más personas, con más perspectivas, hay más probabilidad de que se den cuenta de la falla más rápido”, comenta Simón.

Entender la lógica detrás de la programación antes de estudiar un lenguaje en específico

“Cuando inicia, la gente se pregunta con cuál lenguaje debería empezar, pero más importante que volverse experto en un lenguaje en específico, es adquirir los conceptos básicos primeros, la lógica que se usa en la programación. Eso después se puede extrapolar a cualquier lenguaje, una vez uno entiende eso, es muy fácil aprender cualquier lenguaje”, afirma Santiago. 

Comenzar con Python

En el mundo existen cientos de lenguajes de programación, todos con características específicas para realizar tareas concretas. 

Java, por ejemplo, es bueno para personas interesadas en el desarrollo de software con programación dirigida a objetos. C++ es el que se usa, sobre todo, en la programación competitiva y Python, por otro lado, es bueno para hacer inteligencia artificial y ciencia de datos. 

Ese último, sin embargo, es el ideal para comenzar, según los tres programadores de Fast and Fourier. 

“Es un lenguaje muy humano, se deja leer de manera intuitiva sin muchas reglas y exagerados signos de puntuación. Es más sencillo para que la gente lo asimile, promueve que quienes no saben sistemas lo use y la ventaja es que tiene un montón de librerías de datos”, cuenta Simón.

Básicamente, esas librerías de datos o ‘frame works’ son códigos pre-programados descargables que se activan con la escritura de cortas líneas de código, en vez de tener que escribirlo completo. Estos agregan al Python funciones adicionales que pueden ser muy sofisticadas.   

Acudir a la comunidad de programadores

“Hay una comunidad muy grande de personas que está programando entonces es fácil conseguir ayuda. Aunque no son temas tan visibles, una vez adentro, hay muchísima gente que está dispuesta a ayudar. Nosotros por ejemplo acudimos a personas en otras ciudades, otros países, personas desconocidas que respondían las preguntas que hacíamos en blogs. La comunidad está abierta a cualquier tipo de persona, no hay restricciones de ningún tipo, ni edad, ni género”, comenta Santiago. 

Recursos 

Geeks for Geeks

Para Simón, Geeks for Geeks “es una página que me gusta mucho porque es muy simple, pero a la vez es muy bien explicada. Hay de todo tipo de lenguajes, cosas modernas, viejas y son blogs escritos por programadores, que además le gastan esfuerzo a que las explicaciones que dan ahí sean amigables.

Y agrega que «muchas veces las personas buscan sus dudas en foros más avanzados y ahí quienes responden no explican con detalle y no ponen ejemplos. Entonces Geeks for Geeks es más ‘para dummies’. Es como un Wikipedia de programación”.

Code Forces

Es particularmente interesante para las personas que quieran comenzar en el mundo de la programación competitiva. “Hay competencias que uno puede simular o que a veces son en vivo, y uno puede participar y estar compitiendo con ‘el Messi’ de la programación, cosa que es muy chévere porque uno puede compararse y ver cómo avanza”, comenta Santiago. 

Además, agrega que hay muchas personas que escriben blogs donde explican diversos temas “y también hay una cosa en cada competencia que se llaman ‘editoriales’, en las que explican cómo se resuelve el problema en cuestión y ofrecen información, aunque no muy detallada, de los errores que cometiste en un problema en específico”. 

programadores
Fast and Fourier ocupó el primer puesto en la Maratón de Programación ITM – Ruta N, donde los organizadores tuvieron que agregar problemas extra para continuar la competencia. / FOTO: Ruta N

Fast and Fourier y la programación competitiva

El equipo que ira a disputar el mundial de programación en Bangladesh se conformó luego de varios intentos.

Simón, quien antes de entrar a ingeniería matemática había cursado un semestre de física y dos de matemáticas, entró al mundo de la programación competitiva tras acudir al llamado de un par de sus amigos, que «sabían que me gustaban esas cosas de matemáticas».

Dice que antes de eso no le había interesado la programación, pero luego “fuimos metiéndole la ficha y mejorando, y así le fui cogiendo gusto a programar”. 

Luego de algunos ires y venires de integrantes de ese primer grupo, llegó Santiago, sin planearlo, a través de otro compañero.

Él comenzó estudiando ingeniería de sistemas, luego se pasó a ingeniería matemática y decidió vincularse al Semillero de Programación de la Universidad Eafit. “Dije: ‘bueno, vamos a intentar, nada se pierde y al final me gustó, porque descubrí que uno aprende es a pensar, a descifrar maneras de resolver problemas complejos”. 

Por último, llegó Martín, quien desde el colegio estuvo involucrado en el ámbito competitivo, pues participaba en las olimpiadas de matemáticas, de las que fue campeón nacional en una ocasión.

“Esa base de matemáticas y competencias me ayudó mucho: los problemas que uno resolvía en las olimpiadas son muy similares a los de programación, en términos del estilo de pensamiento lógico que toca usar”, dice Martín. 

Ya con él consolidaron Fast and Fouirer, rindiendo homenaje con la segunda parte de su nombre al matemático francés Joseph Fourier.

Con ese equipo han participado en varios encuentros de programación competitiva que, según cuentan, está catalogado como un deporte mental. 

“Las competencias se desarrollan en equipos de tres personas y duran alrededor de cinco horas”, comentan. Durante ese tiempo, los participantes reciben de 10 a 14 problemas matemáticos que tienen que resolver de la manera más rápida y eficiente posible, eso en términos del tiempo que se demora en correr el código y la memoria que ocupa el mismo. 

Al final, gana quien resuelva la mayor cantidad de problemas en el menor tiempo posible. 

En una de las últimas competencias en las que participaron, la Maratón de Programación ITM – Ruta N, también salieron triunfadores.

Ahora, y aunque Simón y Santiago están en Europa trabajando, Fast and Fourier espera retomar pronto sus entrenamientos de cara a la competencia mundial a la que viajaran en noviembre. 

Siga leyendo:

18 colombianos realizarán investigaciones desde la Antártida

Este biólogo sucreño conserva las ranas de la Sierra Nevada de Santa Marta