lunes, 15 de octubre de 2007

Por qué mi carrera?

Bueno, nuevamente escribo por tarea :S.
La pregunta "¿Por qué ingeniería en computación?" tiene una respuesta bastante sencilla y dudo que ocuparía todo un artículo en ella: "me gusta y es lo que mejor(o menos mal) hago".
Desde temprana edad pasaba muchas horas frente a la computadora y soñaba con que algún día pudiera ser ingeniero en computación y que me pagaran por ello.
Las razones por las que elegí cursar la carrera de ingeniería en computación no tienen ningún misterio ni se requirió de una amplia reflexión para llegar a esa conclusión. Al fin y al cabo, desde antes de terminar la primaria ya me sentía destinado a algún día convertirme en ingeniero en computación.
Aunque al principio me acerqué a la computadora por los juegos, no pasó mucho tiempo antes de que me llamara la atención el funcionamiento del sistema operativo y poco después ya estaba programando.
Era natural que lo primero en llamarme la atención de la computadora, como a cualquier otro niño fueran los videojuegos, aún recuerdo el clásico Prince of Persia 1.0, el Sokoban, y algunos otros más que recuerdo de que se trataban pero olvidé sus nombres.
Pero los videojuegos pasaron a segundo plano rápidamente cuando me dí cuenta de todo lo que se podía personalizar el Windows 3.1. Luego de eso no me quedé conforme y empecé a investigar sobre las cosas que podía lograr con MS-DOS.
Aunque me duró bastante tiempo el entusiasmo por MS-DOS, llegó el momento en que me volví a sentir limitado en lo que podía hacer y fue entonces cuando me llegó a la mente la idea de programar.
Pero no pude empezar a programar de un día para otro porque no sabía por donde empezar y no había lugar donde estuvieran dispuestos a enseñarle programación a un niño de 9 años.
Pero con el tiempo llegaron las recomendaciones de que el entorno de programación QBasic era lo ideal para inciar. El título de mi primer libro de programación fue "Quick Basic Para Principiantes" y actualmente no se dónde se encuentre.
Una vez sabiendo programar un poco, mi afición por la computación creció aún más; pero no fue sino hasta que tenía 12 años y medio cuando por fin tuve mi propia computadora(la que usaba antes era de mis papás), una Intel 486 con velocidad de 66 Mhz; era mas lenta que las computadoras que se vendían en el mercado, aunque comparada con la computadora que usaba antes era bastante más rápida, así que pude programar cosas con mucha mas libertad.
Además de programar, en esa computadora aprendí a instalar y configurar las versiones de Windows 95 y 98, también a agregar y quitar hardware así como a hacer páginas de internet.
Ya con el mismo gabinete pero con casi todo lo de adentro cambiado empecé a manejar Linux, la distribución Red Hat 5.0 y a hacer mis primeros intentos de programar en C.
La secundaria fue para mi la edad de los proyectos de programación, así como los días en los que aprendí a manejar mas aplicaciones de diseño y entornos de programación.
Practicamente al mismo tiempo que entré a la secundaria me regalaron mi segunda computadora, una Intel Pentium II, con esa computadora ya podía programar muchas mas cosas así como usar más aplicaciones. Durante la secundaría aprendí algo de diseño, ya que aunque lo que me gustaba era programar, obviamente quería que lo que programara se viera bien; pero lo mas relevante que aprendí durante la secundaria fué PHP, C y C++.
En esos días me la pasaba entrando a IRC(un sistema de chats) y buscando a otros programadores adolescentes yo como yo e intentando crear cada vez proyectos más ambiciosos que los de los otros; a decir verdad terminé muy pocos proyectos ya que aunque sabía cómo programar las cosas mas grandes que planee requirieron de demasiado tiempo que eventualmente no pude invertir.
La preparatoria fue aún mas emocionante pues participé en la Olimpiada de Informática y rompí varias marcas.
Todo empezó cuando un amigo que conocí por IRC me informó de algo llamado Olimpiada Mexicana de Informática, un concurso de programación a nivel nacional y medio superior orientado a los algoritmos.
Mi afán por siempre aceptar cualquier reto que me propusieran de programar me hizo tomarle mucho entusiasmo a la Olimpiada de Informática. No estaba seguro que fuera a ganar, pero no me importaba esforzarme "de más" porque estaba aprendiendo programación, estaba seguro que programar era mi vocación y sobre todo, lo disfrutaba.
Ya en el 2004, entrando a segundo año de prepa y con 17 años de edad fui seleccionado para representar a México en la olimpiada internacional en Atenas.
Pero los resultados obtenidos en esa competencia fueron muy impactantes para mí, el puntaje que obtuve fue bastante bajo en comparación con la mediana de la competencia y nunca me había encontrado con programadores adolescentes que tuvieran un nivel que se les comparara a los de esos competidores, ni siquiera los que había conocido en IRC.
Luego de eso sentí algo de desesperación por el nivel que poseía y dediqué muchas horas diarias a buscar la manera de mejorar para tener un nivel como el que tenían todos los medallistas de la olimpiada internacional.
Ya en el 2005, en la competencia nacional obtuve el mejor puntaje que se ha tenido en una nacional hasta el momento, y en la competencia internacional de ese año(en Polonia) obtuve mi primer medalla de bronce a nivel internacional. Mi capacidad de análisis de problemas y manejo de algoritmos en un año había mejorado mucho más de lo que lo había hecho en todos los años de primaria, secundaria y primer año de prepatoria juntos.
Entonces me puse una meta: conseguir una medalla de oro. No era una meta fácil, puesto que la escuela me quitaba tiempo para entrenar, los competidores de otros países llevaban ya muchos años sabiendo razonar correctamente y yo llevaba menos de un año sabiéndolo hacer, y también había una prueba histórica de que no era fácil: a pesar de que cada año casi la mitad de los competidores ganan alguna medalla, México solo había ganado alguna medalla 4 veces contando la mía, y todas eran de bronce.
Aún así hice el esfuerzo, entre el 2005 y el 2006 mejoré bastante, mi razonamiento se hizo mas ágil y mi programación mas fluida. Pero a pesar de todo eso en el 2006 volví a ganar otro bronce.
Tal vez la pregunta no debería de ser ¿Por qué elegí ingeniería en computación? sino ¿por qué elegí entrar a la universidad?. Son dos razones principales. La primera es que muchos concursos de programación exigen estar registrado en alguna universidad; y la segunda es que necesito tener experiencia trabajando antes de querer poner mi propia empresa, y las empresas no admiten practicantes que no estén inscritos en una universidad.
El próximo concurso de programación importante será el regional de ACM ICPC, el 4 de Noviembre, y es por eso que estaré "desaparecido"(encerrado entrenando) por casi 3 semanas.

No hay comentarios: