Mi Evolución como Programador
Siento que llegué tarde a la programación. Mis inicios no fueron frente a una terminal, sino entre destornilladores y placas madre. Era un apasionado del hardware, del modding de PCs y de optimizar flujos de trabajo con Excel o AutoCAD, trazando las calles de Cancún. Sin embargo, cuando descubrí que el desarrollo web tenía un futuro impresionante, algo hizo clic.
Empecé creando páginas en PHP. En aquel entonces, sitios como t1msn o los foros de videojuegos eran magia pura: comunidades vivas donde no importaban las métricas, el e-commerce o los embudos de venta. Solo importaba compartir conocimiento. Yo era más diseñador que programador; usaba Photoshop para crear interfaces que luego forzaba en tablas rígidas de HTML. Era un reto divertido, impulsado por la vocación de servicio.
El Choque con la Industria: Complejidad vs. Valor
La vida, eventualmente, te exige pagar las cuentas. Mis habilidades de diseño no bastaban y la demanda laboral en mi ciudad pedía a gritos Visual Basic o un stack basado en Microsoft. Ahí conseguí mi primer empleo real, gestionando sistemas para un delfinario y tiendas de souvenirs.
Fue un golpe de realidad. Odiaba Visual Basic. Me enfrenté por primera vez a lo que llamo "complejidad innecesaria": procedimientos almacenados en SQL laberínticos y una gestión de proyectos que parecía diseñada para justificar sueldos mediante la burocracia, más que para aportar valor al negocio. La planeación de proyectos era un desastre, y el código, un monstruo difícil de mantener. Algunos programadores parecían más interesados en demostrar su conocimiento técnico que en resolver problemas reales. Los proyectos eran lentos, costosos y, a menudo se quedaban cortos en cumplir sus objetivos.
Busqué refugio de nuevo en PHP en una empresa de transporte turístico. Allí recuperé la alegría. Sin saber qué era UX/UI o un Buyer Persona, mejoramos la experiencia del usuario intuitivamente, permitiendo que los turistas reservaran tours adicionales fácilmente. Compré un iPod Classic de 80GB (edición Piratas del Caribe), me aislaba con mi música y entraba en la "zona". No había estrés, solo un flujo constante de ideas para aportar valor.
Todos los días aprendía algo nuevo, desde optimizar consultas SQL hasta implementar patrones de diseño simples. Fue un recordatorio de que la programación puede ser divertida y gratificante cuando el enfoque está en resolver problemas reales, no en impresionar con tecnología. De ahí entendí que la verdadera satisfacción viene de crear soluciones que realmente importan.
La Trampa de la "Seniority" y el Burnout
Queriendo crecer, rechacé la ola de Flash y ActionScript (que me parecía otra capa de complejidad innecesaria) y aterricé en el corporativo de una gran cadena hotelera. "¿Realmente quieres trabajar? ¿Te puedes quedar hoy?", me preguntó el jefe. Y así empezó una larga etapa donde mi objetivo fue dominar Java.
Aprendí a trabajar en equipo, prioricé la calidad sobre la estructura rígida y escalé posiciones. Desde aplicaciones de escritorio hasta liderar el desarrollo de un Booking Engine. Me sentía en la cima, considerado un "Arquitecto de Soluciones". Pero el precio fue alto: el estrés acumulado y problemas personales afectaron mi salud.
Era un líder reactivo. Solucionaba problemas, trabajaba más horas que nadie y tenía el ownership, pero no era estratégico. Mi enfoque estaba en cumplir con deadlines y mantener sistemas complejos, no en innovar o mejorar procesos. La pasión se había desvanecido, reemplazada por la rutina y el agotamiento.
Volver a los Fundamentos
Al dejar el corporativo, me enfrenté a una dura realidad: las entrevistas técnicas. Fracasé en varias. Descubrí que, aunque "sacaba el trabajo", mis fundamentos eran débiles. Ese golpe al ego fue lo mejor que me pudo pasar.
Entendí que debía ser humilde y reaprender. Dejé de perseguir frameworks de moda y me enfoqué en la complejidad algorítmica, en escribir código robusto y en los principios básicos de la ingeniería de software. Me convertí en un "programador solitario" por un tiempo, creando software bajo mis propios términos para una empresa de RRHH. Fue una oportunidad para descubrir mi creatividad.
El proyecto me permitió experimentar con nuevas tecnologías, pero siempre volviendo a los fundamentos. Aprendí a valorar la simplicidad y la claridad en el código, y a priorizar la solución de problemas reales sobre la adopción de herramientas populares. Trate de llevar el proyecto hacia adelante, pero finalmente decidí que era momento de buscar nuevos horizontes.
El Dominio del Negocio
Hoy, después de evolucionar a través del marketing y la planificación comercial, mi visión ha cambiado radicalmente. He aprendido que la viabilidad comercial de un proyecto es tan importante como su código. No importa si tienes el mejor sistema, si no es rentable o no hay una estrategia clara para monetizarlo, todo el esfuerzo técnico es en vano.
El desarrollo de productos debe centrarse en solucionar problemas reales. El stack tecnológico, el lenguaje o las herramientas son solo medios para un fin. Aprender a usarlos es parte del trabajo, pero lo que realmente distingue a un gran programador es el dominio del negocio. Ahí es donde el criterio técnico brilla: cuando se usa no para justificar complejidad, sino para entregar valor real al cliente.
La inteligencia de negocio, la comprensión del mercado y la capacidad de adaptarse a las necesidades del cliente son habilidades esenciales. Un programador exitoso no solo escribe código, sino que también entiende cómo ese código impacta en el negocio y en los usuarios finales. El futuro de la programación está en la intersección entre la tecnología y el negocio, y dominar ambos aspectos es la clave para crear soluciones verdaderamente valiosas.
Hay que tener siempre presente que los frameworks y tecnologías son herramientas que evolucionan rápidamente, pero los fundamentos de la programación y el entendimiento del negocio son pilares sólidos que sostienen cualquier carrera en IT. Al final del día, lo que realmente importa es la capacidad de resolver problemas y generar valor, no la cantidad de líneas de código o la complejidad técnica.
Pienso que lo mismo va a pasar con la inteligencia artificial. No se trata de usar la herramienta más avanzada, sino de entender cómo aplicarla para resolver problemas específicos y aportar valor real. Entenderla y dominar sus fundamentos, nos permitirá adaptarnos y aprovechar sus beneficios de manera efectiva. No importará si eres senior o junior, sino qué tanto entiendes del negocio y cómo puedes usar la tecnología para mejorarlo.
Gracias por leer hasta aquí. Si te gustó este artículo, no dudes en compartirlo. ¡Hasta la próxima!