¿Por qué Ingenieria de software?
- Carlos Urias
- April 4, 2024
¿Por qué Ingeniería de Software?
Resulta que la ingeniería no era mi plan inicial, ni siquiera contemplaba el hecho de poder matricularme en una carrera universitaria afín. Veía este mundo algo completamente lejano a mí, de mis intereses en aquel momento y un mundo del que yo mismo creía no ser parte; siempre apegado al mundo de las artes -principalmente el cine y la literatura- en mis años de preparatoria creía que este sería mi fin profesional. Si bien desde muy chico ya tenía un gran background en computación, llegando incluso a tirar líneas de código con al menos siete años de edad (si bien, recuerdo haber escrito unas líneas de código siguiendo un tutorial en el primitivo YouTube, jamás volví a tocar un editor) no veía la programación como un fin para mí. Las razones: creía que esto era solo para genios, o que las matemáticas no eran mi fuerte o no lo sé, tal vez no sabía las posibilidades que te otorgaba la programación.
Cuando estaba en la preparatoria, en la materia Economía I, uno de los proyectos finales -bueno, más bien toda la materia giraba en torno al proyecto- era construir un prototipo de empresa que se presentaría ante un jurado teniendo así la posibilidad de ser apoyado e incubado en una aceleradora por parte de la misma universidad. Mientras todos los demás compañeros iban por negocios o visiones de emprendimiento más tradicionales, como la venta de un producto, la proyección de productos artesanales o intentar mejorar ciertos alimentos hacia un público más saludable, yo creía firmemente que si de verdad quería ganar ese concurso debería ser un producto o servicio realmente innovador. Muy posiblemente no podía lograr aquello teniendo una mente conservadora, por lo que consideré la opción de la digitalización.
Ya con la visión de que mi producto o servicio tenía que ser digital me encontraba con dos barreras: 1) Tener que programar. 2) Ofrecer algo que solucionara una problemática real. Una problemática fue más sencilla que la otra, si bien, pensando demasiado pude lograr una idea de negocios, no tenía ni la más remota idea de por dónde comenzar a materializar esa idea.
La idea.
La idea: Poder democratizar las finanzas e inversiones para todo público, incentivando así dos cosas: la inversión en la población y ayudando a la industria de la agricultura en donde su único método de financiamiento son los bancos y sus altísimas tasas de interés. Motivado por el éxito de plataformas de crowdfunding como Briq sabía que el siguiente paso para mi “empresa” era construir una página web. Intenté varias opciones sencillas como una página en WordPress, Wix o cualquier otro gestor de contenidos, pero rápidamente vi que esto no se iba a adaptar a mis necesidades.
El reto
Después de evaluar todas las fallidas opciones, supuse que mi única opción sería aprender a programar, pero ¿Por dónde empezar en este mar de conceptos? Bueno, aquí YouTube fue un gran aliado. Descubrí que existía una tecnología llamada HTML, otra llamada CSS y otra más que agregaba funcionalidad e interactividad a las páginas web llamada JavaScript - aunque esta no entré en gran profundidad. Seguí varios tutoriales al pie de la letra, lo que hacía el profesor lo replicaba yo mismo con mi teclado en VSCode. Después de la gran satisfacción que me daba ver que “yo mismo” había construido un sitio web, creí que ya lo sabía todo, que ya estaba listo para aventurarme en seguir por mi mismo y crear una aplicación por mi cuenta. ¡Qué iluso!
Ahora, sin tutor en la pantalla, yo solo frente al teclado y editor. ¿Pude construir yo mismo la aplicación? ¡Claro que no! Me quedé vacío solo con poner ”!” en el editor para generar un documento HTML.
Fue una de las decepciones más grandes que tuve conmigo mismo, creí que jamás sería capaz de seguir con esto de la ‘programación’. El proyecto seguía en puerta, no lo podía abandonar, si bien lo más importante era porque de eso dependía el 100% de mi calificación, también consideraba un reto el hecho de aprender. Así fue como busqué una plantilla de página web en HTML y CSS. Descargué los archivos y con el poco conocimiento que tenía gracias a aquellos videos en YouTube logré editar los h1, los párrafos, etc. Por fin tenía una página web desarrollada.
La recompensa
Eso sin duda me valió el reconocimiento de toda la clase, de algunos profesores. Sin embargo, aunque siempre fui honesto sobre el hecho de que no la web fue concebida 100% por mí, el simple hecho de haber presentado algo así fue suficiente para el reconocimiento que obtuve.
Nota: Aunque muchos de los compañeros y profesores comentaban que el prototipo de idea era muy bueno y que tenía altas posibilidades de ganar dadas las características tanto de viabilidad financiera como tecnológicas, la realidad es que jamás supimos quién ganó el concurso a nivel estatal; muy posiblemente un tema de corrupción entro de por medio pero ese no es el caso.
Sin embargo, yo seguía sintiéndome insatisfecho por lo que decidí investigar más sobre la programación, seguía practicando con videos en YouTube pero rápidamente me topaba con una gran pared en la que sentía que no avanzaba o que simplemente no estaba captando el conocimiento de forma gradual y escalonada. En este punto la publicidad y el excelente marketing - para nada invasivo - de Google me hicieron matricularme en un curso de Udemy.
Camino a la programación.
Seguí el curso, sentía que estaba avanzando, también sentía poco a poco que tal vez el concepto “desarrollo web” solamente basado en HTML + CSS no significaba nada para mí, es decir, no me sentía satisfecho con modelar texto e imágenes en la interfaz del navegador. Aprendí demasiado, creo, sin temor a equivocarme, que eso fue uno de los más grandes aciertos de mi corta carrera: el hecho de tener enfrente un teclado, un editor de código y una gran hambre de curiosidad. Con videos de divulgación en YouTube me fui dando cuenta que no todo el desarrollo de software/programación se basaba enteramente en “la parte bonita” de una
web, que también había un back-end, un arquitecto de software, gente especializada en la nube, gente en ciencia de datos, etc.
Con esa misma hambre y curiosidad descubrí Platzi y ahí fue donde me enamoré perdidamente de la programación. Ojo: este no es un comercial ni mucho menos, es solamente mi experiencia.
En Platzi descubrí Python (mi primer amor). Python me lo dio todo, me dio una gran base lógica que después descubrí que podía llevar a cualquier otro lenguaje, una visión panorámica de lo que podía lograr la programación e infinitas ganas de escribir, de probar, de hacer.
En Python descubrí las simulaciones y los procesos estocásticos, poder programar pequeños videojuegos en la consola, hacer simulaciones de pesos en otros planetas, realmente si tenía una duda y era mínimamente programable buscaba la manera de hacerlo realidad.
El pequeño trabajo que me ofreció Python y marcó mi vida.
Eran tantas ganas de seguir aprendiendo, la pasión por contagiar a mi círculo de amigos de programar que aun sin la experiencia en enseñar y sobre todo - con muy poca experiencia en programación - decidí dar clases particulares de programación. El alumno: El hermano menor de una amiga que soñaba con hacer videojuegos. El escenario: Las vacaciones de verano. El reto: No saber NADA de desarrollo de videojuegos.
La verdad fue que el tiempo era limitado, no teníamos las herramientas ni el conocimiento, pero eso no nos limitó. En pocos días teníamos una muy buena lógica de programación desarrollada. No solo mi alumno sentía que aprendía, yo mismo sentía que reafirmaba mis conocimientos y esos conceptos que tal vez se me complicaban un poco a mí mismo, mientras los explicaba sentía como esa nube gris se iba aclarando.
Así, días después de una lógica lo suficientemente convincente empezamos a desarrollar minijuegos, los clásicos: Piedra, papel o tijera y su versión extendida popularizada por Sheldon Cooper: Piedra, papel, tijera, lagarto, spooke. Un minijuego de rol basado en decisiones, un minijuego de Pokémon en consola, fueron algunos de los proyectos que pudimos desarrollar.
Fue esta una de las experiencias más enriquecedoras de mi vida, una experiencia que siempre llevaré tatuada en mi carrera. Agradezco siempre ese momento tan importante y que me llevó a estudiar Ingeniería de Software.
¿Qué pasó después?
Seguí aprendiendo por mi cuenta como casi todas las cosas que hacía, un poco de esto, un poco de aquello, bases de datos, JavaScript, conceptos de criptografía, ciencia de datos - y aun siento que no he encontrado mi lugar - pero siempre aprendiendo de la programación que es infinita. Luego entré a la facultad de ingeniería de software donde me encuentro actualmente. No todo ahí es perfecto pero tengo la dicha de contar con buenos maestros y que sigo teniendo una gran curiosidad que me lleva a intentar dar la milla extra en todo lo que hago.
Aunque sigo sin saber exactamente cuál es mi lugar dentro de la programación, entre tantas cosas que me gustan y tantas cosas de las que intento seguir aprendiendo cada día, siento que no hay ninguna prisa por especializarse y ser completamente el mayor genio de una tecnología, framework o lenguaje. Creo que la curiosidad y el aprendizaje continuo son una de las claves para destacarse del resto.
Elegí ingeniería de software porque descubrí en este campo una amalgama perfecta entre creatividad, lógica y utilidad práctica. Desde la emoción de crear un proyecto innovador hasta la satisfacción de resolver problemas complejos, cada día en este campo es un nuevo desafío y una oportunidad de aprendizaje. Además, la comunidad colaborativa y en constante evolución que rodea a la programación me inspira a seguir explorando, aprendiendo y compartiendo conocimientos. En definitiva, elegí ingeniería de software porque me permite fusionar mi pasión por la tecnología con mi deseo de impactar positivamente en el mundo a través de soluciones innovadoras y creativas.