domingo, 31 de diciembre de 2017

¡Gracias 2017!

Una tradición que he mantenido ya desde hace muchísimo tiempo (creo que incluso más de 10 años) es la de tomarme un momento al final de cada año y escribir un pequeño texto que exprese lo que siento y pienso acerca del año que expira. Este año, por supuesto, no será la excepción. Ha sido un año verdaderamente maravilloso, repleto de momentos increíbles y gente extraordinaria.

Indeed you did! :D

2017, un año bastante diferente, aunque continúa con la excelente serie de años que agradezco enormemente haber podido vivir. Este año conocí a muchas nuevas personas y conocí mucho más a otras que ya conocía. Comencé a incursionar en otras actividades laborales, empezando por trabajos freelance a través de internet y terminando en uno de los sitios más geniales en los que he estado: un sitio donde todo el mundo es brillante y apasionado, donde lo valoran y consienten a uno consistentemente y donde cada día se aprende una infinidad de cosas nuevas. Agradezco infinitamente formar parte de esta familia laboral, que me hizo sentir en casa desde el primer día (algo que, exceptuando mi casa misma, sólo había logrado la USB). Ya pronto cumpliré un año ahí y, si todo sale bien, será el primero de muchos. ¡Gracias, Mahisoft, por permitirme formar parte de su familia!

En la USB continúo haciendo lo que me apasiona: dar clases y compartir experiencias. Tuve la oportunidad de dar materias que me encantan como Lenguajes de Programación I y Traductores e Interpretadores. Además tuve la bonita experiencia de dar Computación I y de compartir con mucha otra gente de diferentes carreras. Siempre me había llegado el rumor de que esa materia no les importaba a quienes la veían, porque no les prelaba nada, pero lo que yo vi fue algo completamente distinto. Las personas realmente parecían disfrutar de ir a las clases y compartir, explorar nuevos horizontes y crecer. Agradezco muchísimo haber tenido esa experiencia y haber podido colocar aunque fuera un granito de arena, para que todas esas excelentes personas y futuros profesionales lleguen a ser tan grandes como sin duda lo merecen.

El cariño y aprecio que sentí durante todo el año, de estudiantes, colegas, amigos, todos, es una cosa que valoro inmensamente y me llena de dicha, además de inspirarme para continuar mejorando y dando todo por este trabajo tan genial. El año que viene promete ser genial también y comenzaré con un par de materias super divertidas de dar (que es un total secreto, por lo que, naturalmente, ya todo el mundo lo sabe - Derechos de autor a Dumbledore.)

Además del trabajo, el 2017 no se quedó atrás en experiencias alucinantes y divertidas. Por tercer año consecutivo, clasificamos a la final mundial de los maratones de programación ACM-ICPC, que se celebraron en Rapid City. Estados Unidos. Fue toda una travesía, como siempre, conseguir fondos para poder viajar, pero una vez más lo logramos y pude acompañar a un grupo de las más talentosas y brillantes personas que pudieran imaginar. ¡Rompimos el record de Venezuela! El equipo O(-1) logró resolver 4 problemas en el mundial y, además, un par de sus integrantes quedaron campeón y subcampeón, respectivamente, de la farandulosa competencia tangencial: Quest. En Rapid City además conocí a mucha más gente genial maratonista de todos sitios del mundo (en especial de Latino-América) y me reencontré con muchos otros que ya conocía y a los que les tengo un gran aprecio. Fue verdaderamente una experiencia excelente y agradezco mucho haber tenido la oportunidad de vivirla.

Para completar las buenas noticias respecto a los maratones de programación, unos meses más tarde se celebró nuevamente el maratón super regional latinoamericano y una vez más, por cuarta vez consecutiva, Venezuela logró clasificar al mundial. Esta vez fue de la mano de los "Super Pollos" un equipo de nuestra casa hermana, la UCV, formado por gente increíblemente buena, talentosa e inteligente, pero por sobre todo, trabajadora y muy buena persona. Estoy sumamente feliz por ellos y dispuesto a apoyarlos en todo lo que puedan necesitar, para que disfruten de su merecida experiencia y dejen el nombre de Venezuela por todo lo alto. ¡Qué orgullo ser parte de su historia!

Fue un año de excelente experiencias, de aprendizaje y de compartir. ¡Este año mi hermano le propuso matrimonio a su novia y van a casarse a principios de año! Ver sus caras de felicidad cuando están juntos es una de las cosas que más me llena el corazón, cómo sólo puede hacerlo ver feliz a alguien que quieres muchísimo. Estoy seguro que les aguarda una vida de felicidad y dicha juntos.

A mediados de año también tuve la oportunidad de ver convertirse una amistad en algo más, algo muy bonito y divertido, aunque fuera fugazmente y nuevamente con un desenlace novelezco (tengo bastante material ya, jajaja). Una relación que agradezco haber vivido, pues de toda experiencia sale un aprendizaje y fue una experiencia bonita, por el tiempo que así fue. No siempre las cosas salen como se quiere, pero siempre hay que agradecer la luz que implica la sombra y todo lo que fue, pues ahora es parte de nosotros mismos y de lo que seremos en el futuro.

En fin, fue un grandioso año repleto de experiencias y aprendizajes, un año que valdrá la pena recordar y por el cual estoy completa y profundamente agradecido. ¡Gracias a todos por ser parte de este genial año! Espero que sigamos compartiendo por muchos años más, aprendiendo más, conociendo más y creciendo más. ¡Gracias por leerme! Hasta una próxima entrada. :)

domingo, 10 de diciembre de 2017

Don't Panic!

A la hora de programar, uno de los errores más comunes en los que se puede caer es el de rendirse prematuramente y entrar en pánico: relegar el funcionamiento de nuestras ideas a la suerte y cambiar pequeñas cosas progresivamente, en intentos mecánicos y poco planificados, con la esperanza de que esa "magia oscura" que reina sobre los programas, finalmente comprenda lo que queremos decirle y la computadora haga lo que debe.

Hmm, súmale uno...
Bueno, no, réstale uno...
¿Y si cambiamos el menor por menor o igual?
¿...o mejor por mayor o igual?
¿...o mejor por un no igual?

Una vez aceptamos la verdad, resolver cualquier problema se hace mucho más sencillo y natural. El secreto es elemental y, sin embargo, completamente elusivo en nuestros primeros años como programadores: no hay tal cosa como la magia oscura. Todo lo que un programa hace es consecuencia lógica de aquello que escribimos, con reglas bien establecidas y concretas que podemos seguir meticulosamente, si tenemos la disposición y la paciencia para hacerlo.

Por esto, la mejor metodología a seguir cuando se programa es la de planificar antes de echar la primera línea de código, entender lo que se está haciendo e investigar cuando hayan dudas. En resumen: no entrar en pánico. Incluso las tecnologías que podrían parecer más extrañas se fundamentan en ideas y reglas básicas que pueden entenderse con calma y detenimiento.

En una época en la que la información es completamente ubicua, no tiene sentido estancarse al intentar entender un problema. Con tanta gente que programa, ha de haber al menos otra persona que se ha topado con un problema similar. ¡Ojo! Esto no quiere decir que en internet estará la solución exacta al problema, ni que se resolverá con un simple copy+paste (no suele funcionar así e, incluso si funcionara, de nada sirve arreglar un problema si no se entiende cómo se arregló, pues nos estamos condenando a repetirnos y a caer en los mismos problemas).

Una de las mayores fortalezas que puede desarrollar un programador es el reconocimiento de patrones. Y no me refiero a la técnica relativa al aprendizaje de máquina, sino a reconocer patrones en lo que hacemos y saber aprovechar esos patrones para ayudarnos a hacer nuestro trabajo. Muchas veces, las ideas se repiten y son aplicables a una gran cantidad de tecnologías y aplicaciones. Por eso, debe ser prioridad de cualquier programador aprender todo lo que pueda, sobre todo lo que pueda. Cuanto más experiencia tengamos, más fácil será reconocer patrones en las herramientas que usamos y los problemas que resolvemos.

Aunque parezca material de charla motivacional, el trasfondo es muy cierto e importante. He visto pasar mucho que la gente se hunde en sus propias inseguridades, temerosos de detenerse, pensar, entender y actuar. No me considero alguien particularmente brillante o talentoso, pero en la medida de lo posible intento no entrar en pánico. Todo problema que surge en nuestras vidas como programadores tiene una explicación y, en la mayoría de los casos, la solución está en nosotros mismos; sólo hace falta ser perseverantes, investigar y no conformarse con resolver sin entender lo que estamos haciendo. Con el tiempo, los patrones se harán evidentes y podremos resolver más y más problemas. ¡Es un ciclo de aprendizaje que crece y se realimenta a si mismo! Y todo comienza con no entrar en pánico. :)

Gracias por leer, hasta una próxima entrada. :D