Trayectoria

De ingeniero de software
a líder de ingeniería.

Con el tiempo, mis responsabilidades crecieron: de escribir software a liderar equipos, managers y organizaciones de ingeniería. Esta cronología reúne los roles que ocupé a lo largo de las distintas etapas de una misma trayectoria.

Cronología profesional

  1. 2024 — presente

    Head of Engineering

    Make

    Lidero ingeniería en todos los proyectos de Make y la adopción de IA en las prácticas de desarrollo de software de toda la empresa. Mi trabajo combina investigación, guías prácticas, herramientas internas y acompañamiento directo a los equipos.

  2. 2014 — 2024

    Software Engineer → Head of Engineering

    Citrusbyte  ·  Theorem  ·  TheoremOne  ·  Formula.Monks  ·  Monks

    Esta fue una etapa de diez años en la misma empresa, a través de varios cambios de nombre y la integración con Monks en 2022. Pasé de un rol técnico a liderar organizaciones de ingeniería: unos 90 ingenieros antes de la integración y aproximadamente 350 personas después.

    Además del trabajo de ingeniería para clientes, creé y dirigí la función interna de TI, contraté a su equipo y asumí la responsabilidad de seguridad antes de transferirla al COO.

    1. 2022 — 2024

      Head of Engineering

      Como Head of Engineering, lideré una organización de unos 90 ingenieros antes de la integración de TheoremOne con Monks; después de la integración llegó a aproximadamente 350 personas, con una estructura de directores y managers de ingeniería. Junto con el equipo de liderazgo, creamos planes de carrera estructurados para ingeniería, un proceso de contratación diseñado para sostener un estándar de calidad alto a escala, políticas de seguridad y TI, y guías prácticas para ingeniería y liderazgo. Mis responsabilidades también incluyeron la gestión interna de TI y seguridad, además del trabajo con clientes.

    2. 2020 — 2022

      Director of Engineering

      Lideré a varios managers de ingeniería y amplié mi responsabilidad más allá de Apple a medida que crecía la cartera de clientes. Parte de ese trabajo consistió en desarrollar nuevos líderes de ingeniería capaces de asumir la responsabilidad de otras cuentas.

    3. 2017 — 2020

      Engineering Manager

      A medida que se amplió el trabajo con Apple, transferí el proyecto original a otro ingeniero y pasé a liderar a los ingenieros de los demás proyectos de Apple. Me ocupé del desarrollo y la contratación de ingenieros y managers, representé a Ingeniería ante interlocutores técnicos y ayudé a establecer las prácticas de liderazgo de ingeniería de la empresa.

    4. 2014 — 2017

      Software Engineer

      Me incorporé a Citrusbyte en un proyecto para AT&T, trabajando principalmente en un backend Ruby distribuido en tres zonas de disponibilidad de AWS, con un gran clúster de Elasticsearch y un uso intensivo de Redis. Tuve un rol central en la optimización del rendimiento que permitió sostener 15.000 solicitudes por minuto en cada zona, además de contribuir en infraestructura y operaciones. Más adelante pasé a Apple, donde entregué un prototipo funcional en dos semanas y la primera versión de producción en dos meses.

  3. 2014

    Desarrollador de software

    BairesDev

    Trabajé brevemente como consultor, modernizando una aplicación Ruby on Rails antes de incorporarme a Citrusbyte.

  4. 2012 — 2014

    Lead Engineer

    Breaktime

    Lideré un pequeño equipo de producto multidisciplinario de desarrollo, diseño y psicología, además de participar en el análisis y la implementación.

  5. 2008 — 2014

    Consultor de TI

    Barrantes S.R.L.

    Desarrollé software y trabajé en infraestructura, redes, soporte y consultoría tecnológica para clientes locales.

  6. 2007

    Profesor

    ISIPE · Universidad Siglo 21

    Enseñé Java y desarrollo de software en dos programas: uno preparaba a estudiantes para pasantías y el otro formaba a nuevos ingenieros en Java EE.

El hilo conductor

Lecciones que siguen conmigo.

Me acerqué a la docencia porque era la mejor forma que había encontrado de seguir aprendiendo: explicar algo me obligaba a entenderlo mejor. Mis primeros roles también combinaron desarrollo, consultoría, infraestructura y trabajo de producto.

Breaktime me dejó una lección temprana de producto. Dedicamos demasiado tiempo a refinar el producto antes de probar un MVP con usuarios reales y después invertimos en marketing antes de saber si la gente lo usaría. Ahora prefiero lanzar la versión más pequeña que resulte útil y aprender del uso real.

Un principio operativo

Mantener el sistema comprensible.

A medida que mi alcance se amplió del software a los equipos y las organizaciones, volví una y otra vez al mismo principio: reducir las partes innecesarias, hacer visibles las responsabilidades y las decisiones, y ayudar a que las personas construyan un modelo mental preciso del sistema en el que trabajan.

  1. 01

    En el software

    Un software simple parte de elegir las dependencias con cuidado, mantener el foco en el propósito central del producto y separar responsabilidades con claridad. Las pruebas deben cubrir riesgos importantes y devolver resultados con rapidez.

  2. 02

    En el proceso de desarrollo

    Un proceso simple mantiene las decisiones cotidianas en espacios compartidos, donde las personas involucradas pueden encontrar el contexto y participar. También implica menos reuniones, cada una con un propósito concreto. Tradicionalmente, el tiempo de foco protegía un único hilo de trabajo para alcanzar una concentración profunda. La IA cambia ese modelo: el trabajo puede avanzar en paralelo, pero cada frente suma contexto que supervisar, revisar e integrar. El desafío es aprovechar ese paralelismo y mantener una visión clara del conjunto.

  3. 03

    En las organizaciones

    La información que debe perdurar necesita un lugar de referencia, especialmente la documentación. Los equipos pequeños pueden compartir contexto, tomar decisiones de forma directa y mantener la coordinación en proporción al trabajo.

El objetivo es crear sistemas realmente más simples y fáciles de comprender: las personas deben poder anticipar cómo se comportarán y saber dónde actuar cuando algo necesite cambiar.