Mi Midpoint de Carrera, Parte I

21-09-2026 – por Gustavo Aquino · 11 min de lectura

#carrera

En septiembre de 2026 cumplí 15 años de carrera en Tecnología de la Información, mis Bodas de Cristal. Fue tiempo suficiente para acumular historias y experiencias entre el mercado laboral y la vida académica. Decidí revisitar esos recuerdos y registrar aprendizajes e historias curiosas, preservando a los involucrados tanto como sea posible.

bodas 15 anos
Figura 1. 15 años de carrera, mis Bodas de Cristal.

Podría abrir con un prefacio sobre el período anterior a mi primer empleo formal, el Curso Técnico de Informática y mis primeras experiencias con computadoras, pero ese capítulo queda para el futuro.

Esta historia tendrá tres partes principales, hitos que considero importantes de varios años cada uno, con un período de filler entre ellas: historias menores, pero no menos interesantes de recordar.

Como no podía ser de otra manera, comenzaremos con el llamado a la aventura.

Pasantes, empanadas fritas y cementerios

En junio de 2011, aceptado en el Programa Universidade para Todos (PROUNI) y con una beca garantizada en São Paulo para estudiar Sistemas de Información, tomé mi primera gran decisión: dejar la casa de mis padres, en el interior, para vivir en la capital, a los 17 años. Ya cursaba el primer semestre de Análisis y Desarrollo de Sistemas en mi ciudad natal, pero nada se compararía al cambio de rutina, escala y desafíos que llegaron ya en los primeros meses de esta nueva vida.

No bastaba con estudiar. Todos los días enfrentaba más de 100 km de traslado entre ida y vuelta, desde Tatuapé, en la Zona Este de São Paulo, hasta Cotia, en la Región Metropolitana de São Paulo (RMSP). En esos primeros meses, fui acogido por mi tía materna, Cida, a quien le tengo una inmensa gratitud. Ella sin duda trabajaba tanto como yo y, a pesar de ser estricta, es una persona extremadamente protectora.

Ese desafío de traslado, sumado a la rutina de la casa, me obligó a salir a buscar trabajo: aprovechar el trayecto diario entre casa y la universidad para ganar algún sustento, conquistar mi propio espacio y ahorrar horas de traslado.

Buscando en el añorado sitio APInfo, envié currículums para vacantes de pasantía ya en el primer mes de universidad. La primera entrevista, por suerte, me dio mi primer trabajo remunerado, en septiembre de 2011: una consultora de software de pequeño porte, pero con un gran contrato de un Enterprise Resource Planning (ERP), sistema de gestión empresarial, para una importadora y minorista de ropa, calzado y accesorios.

Como pasante, recibí un salario un poco por encima del mínimo de la época (R$ 545,00) y una ayuda de costo, una especie de vale de comida en efectivo. Para alguien de 17 años que antes no tenía nada, fue un gran logro.

Sin embargo, mi productividad y mi concentración, especialmente en las materias de cálculo y durante mi ramp-up en la empresa, en la que necesitaba dedicarme mucho más para absorber el conocimiento, se veían afectadas por los largos traslados: durante algunos meses, salía de casa a las 5:30 a. m. para llegar al trabajo, en la Zona Sur, a las 10 a. m., donde me quedaba hasta las 17 h. Antes de la universidad, hacía una parada obligatoria en un puesto de empanadas fritas frente a una iglesia: una simpática empanada con algún recuerdo de relleno, por unos R$ 4,00, siempre reforzada con snacks de fécula sabor guayaba en la mochila. Luego seguía hacia la universidad, en la Zona Este. En el camino de vuelta, la integración hacia la Línea 4 ya estaba cerrada, así que tomaba el autobús frente al Cementerio de la Consolación y bajaba a pie por toda la Cardeal Arcoverde, entre bares sospechosos y locales de dudosa reputación, hasta el Largo da Batata, donde abordaba uno de los dos últimos autobuses intermunicipales, a las 23:45 o a las 00:10. Llegaba a casa, me acostaba y, pocas horas después, todo volvía a empezar.

Más que el sueldo, sin embargo, fue el aprendizaje en aquel ambiente de consultoría, donde todos los desarrolladores hacían de todo un poco: creaban funcionalidades, encontraban y corregían problemas, se metían con bases de datos e infraestructura, conviviendo con gente de la misma franja etaria y mucha disposición para apagar incendios. La complejidad del negocio abarcaba todas las áreas de una empresa mediana: inventario, logística, temas fiscales, tablas de precios, ventas, Puntos de Venta (PDV) y contabilidad.

Windev, el Rapid Application Development francés

La tecnología que usábamos en esa época, Windev, ya parecía un poco anticuada: un entorno de desarrollo rápido de aplicaciones, el llamado Rapid Application Development (RAD), con el que desarrollábamos el ERP y las aplicaciones Point of Sale (PoS), los sistemas de punto de venta. La herramienta abstraía los frameworks más populares de la época, Java y .NET Framework, con un framework propio: IDE propio, lenguaje propio y base de datos propia, aunque contaba con conectores para otros proveedores. En nuestro caso, usábamos Microsoft SQL Server como Sistema Gestor de Base de Datos (SGBD).

windev home
Figura 2. Interfaz del IDE Windev.

Windev es un IDE creado por una empresa francesa, PCSoft, con un entorno integrado para desarrollo de aplicaciones de escritorio, web y móviles: lenguaje propietario, WLanguage, base de datos propia, HyperfileSQL (HFSQL), e interoperabilidad con otros lenguajes y bases de datos mediante APIs y drivers.

Algunas peculiaridades provienen de la propia elección de diseño del IDE, de gusto bastante particular, y del lenguaje propio, fruto de la época: un lenguaje de cuarta generación (Fourth-Generation Language, 4GL). La propuesta era acelerar el desarrollo generando artefactos automáticamente tras integrar una base de datos al proyecto: los metadatos se convertían en un modelo abstracto llamado Analysis, parecido al Entity Data Model de .NET Framework, y, a partir de él, reportes y pantallas salían con pocos clics, algo así como Crystal Reports, de SAP, o ADF, de Oracle, para interfaces ricas.

En la práctica, esto significaba que yo no necesitaba entender a fondo la base de datos para entregar una pantalla funcionando, lo cual, mirando hacia atrás, fue bueno y malo a la vez.

El lenguaje también ofrecía fetch de datos automático: bastaba iterar colecciones con bindings al modelo de datos, y el metamodelo se encargaba de traducir todo en consultas a la base de datos, fuera HFSQL u otra compatible, vía conectores OLE DB/ODBC.

Un ejemplo simple: una búsqueda de cliente por nombre, seguida de una iteración sobre la colección resultante, sin escribir una sola línea de SQL.

// Buscar primer cliente con nombre "João"
HReadSeek(Customers, Name, "João")

IF NOT HFound(Customers) THEN
    Info("Cliente no encontrado")
    RETURN
END

// Iterar sobre todos los registros encontrados
FOR EACH Customers
    sName = Customers.Name
    sEmail = Customers.Email
    nID = Customers.CustomerID
    Info(nID + " - " + sName + " (" + sEmail + ")")
END

Evidentemente, esto generaba problemas de rendimiento y comportamientos ocultos en la base de datos, ya que ese tipo de abstracción prioriza el best-effort incluso a costa del mal uso de índices y consultas poco optimizadas. El resultado eran situaciones caóticas en escenarios de escala, o donde había restricciones de rendimiento, como en aplicaciones de cara al usuario en las terminales de venta. En esos casos, recurríamos con frecuencia al uso de Stored Procedures escritas en Transact-SQL para ejecutar operaciones más costosas, como calcular flujos de caja, reprocesar inventarios o tablas de precios, y generar reportes de vendedores.

En ese período, el software que entregábamos tenía un carácter bastante artesanal: especificaciones y reportes de bugs recogidos en el pasillo, por teléfono, o en interminables hilos de correo electrónico. Esto nos obligó a crear y mantener, también in-company, un service desk para reunir issues y reportes de problemas. Yo, que siempre tuve una vena creativa, asumí el soporte de ese sistema para hacerlo evolucionar, creando funcionalidades, reportes y dashboards, y mejorando nuestro día a día de trabajo.

Aunque Git ya existía desde 2005, mi experiencia con la gestión de código fuente todavía era bastante rudimentaria: carpetas compartidas en la red, sin control de versiones, y después un sistema centralizado de control de versiones (CVS, Concurrent Versions System) del propio proveedor de Windev, que más de una vez corrompió el historial de los archivos y nos obligó a recurrir a copias de seguridad físicas. Los despliegues seguían la misma lógica artesanal: builds comprimidos, transferidos por FTP, con configuraciones de acceso en texto plano en archivos .ini. Fue nuestra realidad durante años.

PHP de la vieja escuela y otros proyectos

Además del ERP y su sistema de PoS, la consultora también trabajaba con proyectos más pequeños, como e-commerces y sistemas de gestión hotelera. En esos casos había más flexibilidad de tecnologías, y llegamos a usar PHP y MySQL en el paquete LAMP (Linux-Apache-MySQL-PHP), ya en sus últimos suspiros en el mercado, que seguía migrando hacia el paquete Node.js y nginx, aunque nosotros seguíamos con él.

En ese momento, el conocimiento de frameworks en el mundo PHP era totalmente experimental, al menos para mí. Recuerdo estudiar CodeIgniter en el libro de Ademir Gabardo y usarlo en mi TCC (Trabajo de Fin de Carrera), donde también tuve contacto con la cultura maker, usando Arduino y Raspberry Pi para prototipar un medidor de agua inteligente, proyecto que genuinamente obtuvo la nota máxima de evaluación. Profesionalmente, sin embargo, el PHP que yo usaba era el de la vieja escuela de los años 2000: archivos .php con bloques de script mezclados con HTML, compartiendo espacio con plugins icónicos de la época, como jQuery, para controlar el DOM, validaciones del lado del cliente y animaciones, morris.js y chart.js, para gráficos estilizados. Bootstrap todavía estaba en sus primeras versiones, incorporándose poco a poco en mis proyectos.

livro php codeigniter
Figura 3. Libro de PHP y MVC (Model-View-Controller) con CodeIgniter, mi primer framework web.

Estudiando por cuenta propia: el mundo .NET

Pasados algunos meses, fui contratado de forma permanente como Analista Programador Júnior y, con un salario mayor, me mudé a un pequeño apartamento cerca de una estación de metro en la Zona Oeste. La calidad de vida mejoró de inmediato: por fin dormía noches completas.

Solo trabajar con Windev y PHP de la vieja escuela no me satisfacía. En conversaciones con mi gran amigo Mark, para mí una leyenda de la programación (especialmente, pero no solo, en Java), siempre al tanto de las mejores prácticas de ingeniería, quien me enseñó arquitectura de software incluso antes de que yo conociera el término, me di cuenta de que quedarme solo con las tareas del día a día me estaría alejando de los estándares del mercado. Empecé entonces a estudiar .NET por mi cuenta, adentrándome en C# y ASP.NET MVC a través de los enormes volúmenes de la serie Step-by-Step, del añorado John Sharp, y de libros de la también añorada editorial Casa do Código, como el fabuloso libro de TDD (Test-Driven Development) de Maurício Aniche, además de algunos libros de Windows Phone, ya que yo era un early adopter y entusiasta de la línea Nokia Lumia 💀. Todavía era temprano, pero esa inquietud por estudiar más allá de la rutina se convertiría en la base del repertorio que construiría de ahí en adelante.

livro visual csharp 2008
Figura 4. Libro Visual C# 2008, de John Sharp — un volumen enorme.

Hora de seguir adelante

Cuando me di cuenta, habían pasado tres años y ya era Analista Programador Semi Senior. Hubo muchos despliegues de nuevas versiones del ERP, optimizaciones en el flujo de caja de grupos de marcas, aperturas de nuevas tiendas, funcionalidades creadas y eventualmente recreadas para diversos registros, integraciones con impresoras térmicas, e incluso el armado de stands de eventos en el Anhembi. Había hecho grandes amigos en ese trayecto y ya estaba a punto de terminar la carrera, en el último semestre.

Fue entonces cuando llegaron las ganas de buscar cambios: salir de la zona de confort y volver a arriesgarme en busca de nuevos desafíos. Sin mucha ceremonia, volví a sondear el mercado y, en mayo de 2015, recibí una propuesta que, en ese momento, me pareció la promesa de nuevos aires. Así llegó la hora de despedirme, en esta empresa, de los amigos que me acogieron y tanto me enseñaron en esta etapa inicial del camino (años más tarde regresaría para un nuevo y duradero proyecto).

De ahí pasé a una nueva consultora de software, pero esta vez en un proyecto totalmente diferente, ahora en la Policía Tecnocientífica. Todavía a punto de graduarme de la universidad, en ese mismo primer semestre de 2015, fue ahí donde conocí la doble jornada laboral, pero eso quedará para la próxima parte.


Dedico el cierre de esta parte a todos los que, en aquel momento, formaron parte de mi camino: a Mark, a Vê, a los hermanos Diego y Thiago, a Marcão, a Luiz XV, a Adrian 2, a Abel, a Dengo, y a tantos otros.


Profile picture

Escrito por Gustavo Aquino, Máster en Ciencias, Ingeniero de Software y fundador de Decodifique.com. Puedes encontrarme en LinkedIn.