Nibbles antes de dormir

Hace unos meses pude finalmente terminar de leer Outliers, un libro de Malcolm Gladwell que trata de explicar las razones del éxito de algunas personas. Aunque éste no me pareció tan bueno como otros que había leído del autor, sí me pareció muy interesante una de las premisas que poseía, donde indicaba que el éxito de una persona era más el resultado de muchos factores a su favor que simplemente el fruto de su propio talento e intención.

Así, de cierta manera desmistificaba un poco la típica idea que a veces los medios nos dan de ciertas personas, donde con mucho esfuerzo, sacrificio y paciencia iban escalando su camino hacia el éxito, pero olvidando otros factores que habían colaborado en mucho a éste.

Bill Gates, por ejemplo, debía mucho de su éxito a haber tenido la oportunidad de estudiar en un colegio donde poseían un computador de tiempo compartido, y luego de ya no contar con acceso a éste, de que su madre y una comisión que en la que ella participaba, pudieran facilitar otro para que su comunidad se beneficiara. E igualmente, de vivir cerca de una Universidad que le permitía pasar algún tiempo (de 3am a 6am) programando en su  locación.

Así, familia, amigos, status social, económico, e incluso una fecha de nacimiento eran factores que podrían marcar desde el principio el éxito de una persona, o al menos facilitarle alcanzarlo.

El tema me volvió a la mente hace unos momentos cuando conversaba con un buen amigo sobre algunas de las anécdotas que había tenido durante mi época escolar, y prontamente me di cuenta que, trazando distancias con el resto de personajes previamente mencionados, habían habido varias situaciones y oportunidades durante mi vida que me permitieron desarrollarme en la manera en que lo he hecho hasta ahora, y me dio ganas compartirlas por este medio con el fin de que otros también puedan recordar algunos hechos que marcaron su camino y los enrumbaron en el que poseen ahora.

Una Spectrum al anochecer

Muchos de los que me conocen saben que empecé a programar desde muy joven, entre los seis y siete años de edad. Si bien no deja de ser hecho simpático que contar, es tambien sólo el resultado de  muchas oportunidades.

Mi padre era (y todavía lo es) economista de profesión, pero siempre se había sentido atraído hacia la informática y la computación. Su interés hizo que pudiera adquirir una computadora personal en un tiempo donde muchos ni siquiera contaban con una en sus trabajos, y finalmente me permitió a aprender a usarla desde los cuatro años.

Recuerdo que no entendía cómo funcionaba pero me fascinaba el hecho de introducir comandos e instrucciones y que la pantalla respondiera acorde.

Muy pronto acompañaba a mi papá durante muchas tardes y noches, sentándome a su costado para mirar como él trabajaba, introduciendo fórmulas en hojas de cálculo, escribiendo textos y gráficos, y finalmente para terminar la velada jugando largas partidas de Nibbles.

PEN UP, PEN OFF

Haber experimentado ya con una computadora hizo que empezara pronto a destacar en los cursos que, fortuitamente, se dictaban ahí.

En aquellas épocas, el curso de computación, pasadas ya las clases introductorias, se orientaba a enseñarnos algunos fundamentos de programación a través de LOGO, experiencia que era muy común, como luego averigüé, en colegios de otros países, pero no tanto en muchos de los colegios peruanos. Para bien de muchos chicos que estudiaron ahí, el colegio compartía currícula y enfoque norteamericano gracias a los fundadores de éste, y eso motivó a que tuviera un acercamiento a LOGO.

Asimismo, en otro golpe de suerte, resultó que la persona que dictaba los cursos de computación era mi prima, y luego de rogar mucho (que en aquellas épocas no había bittorrent), pude conseguir a través de ella un diskette con lo necesario para instalar LOGO en mi computadora casera, y poder practicar más aún.

Recuerdo que pasaba muchas horas en la tarde lideando con la vista de sprites, descubriendo el uso de funciones para evitar repetir mi código y a mover elementos en pantalla. Así, mientras mis compañeros luchaban por hacer mover la tortuga, yo prefería ocultarla y tratar de programar juegos (una de mis pasiones en esa época) en la vista de código.

Sin embargo, pronto empezaba a tener más curiosidad: en esa época ya trabajámos con Windows habiendo abandonado el entorno DOS, y veía como haciendo un doble clic en un archivo .exe, aparecía un programa en pantalla, y consecuentemente, yo también quería eso.

RTFM

Nuevamente un hecho me permitió continuar mi camino: entre los libros que mi papá tenía, encontré uno orientado a enseñar programación LOGO para un programador Basic. La idea me sedujo rápidamente. ¡Existía algo llamado Basic!

Con mucho trabajo en una época donde no tenía Internet ni otros recursos, me senté una tarde en la computadora, y empecé a usar el libro a la inversa, leyendo los comandos de LOGO que ya conocía, y tratando de reconstruir la sintaxis de Basic que se usaba como ejemplo en el libro.

No estoy seguro que tanto de eso fuera posible con otro tipo de lenguajes, pero en ese momento y lugar, me dio un cierto conocimiento suficiente para poder modificar el código de Nibbles (que venía incluído en QBasic), de crear mis propios programas y sentir como todo se volvía más interesante.

Para entonces, ya me encontraba en cuarto o quinto grado, y tras haber extraído todo lo que podía de aquel viejo libro, traté de buscar algo similar en la biblioteca del colegio. Para mi sorpresa, no sólo existían algunos otros libros del tema, pero también el que era para mí en ese instante el principal: “Basic Computer Games”.

No era sólo una gran referencia, pero también era un libro anticuado y muchos de los juegos no compilaban en la versión de Basic que yo usaba, y eso me permitió a aprender a realizar “debugging”, a entender código de otras personas, resolver problemas y finalmente, entender como una estructura de código funcionaba.

Mis tardes se llenaron entonces de mucha programación, dolores de cabeza, y satisfacción de lograr tener algo más en pantalla.

Perlas para desayunar

Ya en 9no grado, como parte de la educación en habilidades extracurriculares, iniciaba un curso de programación.

Sin dudarlo un instante me enlisté, y tuve la gran oportunidad de tener a un profesor (ahora un buen amigo) que, entre sus diversas actividades, profesaba el código libre, lo que hizo que me enfrenté y conozca algo de GNU/Linux.

Le gustaban también los lenguajes de scripting y pude conocer Perl antes de cumplir catorce años. Y mejor aún, le fascinaba el desarrollo web, y pude complementar mis conocimientos de HTML, que había visto hacía un tiempo ya, y crear no sólo sitios web, sino también aplicaciones sencillas mediante scripts CGI. Y cómo no podían mantenerse estáticos, nos enseñó también a conectarnos a una base de datos (con lo necesario en MySQL para lograrlo)

Cuando mi mejor amigo y yo ingresamos a la universidad a seguir la carrera de informática, teníamos ya algo de experiencia desarrollando aplicaciones, habiendo aprendido sobre prácticas al trabajar con tecnología, a manejar problemas y resolverlos. Mientras nuestros compañeros sufrían por entender el modelo de clases, a resolver algoritmos y cómo se armaba una sentencia SQL, nosotros podíamos enfocarnos en crear proyectos que finalmente se convirtieron en el fundamento de la empresa que ahora presido.

Y una apuesta al futuro

Probablemente si mi padre no hubiese tenido esa intriga por las computadoras, si mi prima no hubiera dictado el curso donde yo estudiaba, y si no me habría podido brindar un programa para practicar en casa, si no me habría cruzado con los libros correctos, y en la forma correcta, y si hubiera estudiado en un colegio distinto, no tendría la pasión y ganas de seguir en esto.

No puedo negar que poseo cierto talento para el desarrollo y la programación (aunque sea principalmente una buena capacidad de memoria), pero la conjunción de todos esos elementos (y muchos otros que por la extensión del post he obviado) me ayudaron en mucho a poder avanzar, a seguir siempre adelante y siempre tener una meta y algo que aprender.

Quiero pensar que las oportunidades se seguirán presentando, y que en unos diez años podré crear una nueva entrada en algún blog narrando como la vida siguió conspirando para que me mantengan en un rumbo u otro.

Hasta entonces, sólo queda seguir practicando, mantener la mente despierta y aprovechar cada instante que las circunstancias nos presentan. En algún lugar en este momento está un(a) joven programadora descubriendo las maravillas de la computación, y creo que sería muy divertido si algo que nosotros hagamos ahora (escribir un tutorial, participar en una comunidad, responder alguna pregunta) sea un paso más en su camino hacia la grandeza. ¿Qué esperamos?

Posted in desarrollo, misceláneas, personal | 9 Comments