About me


I’m a software developer with eight years of experience developing web applications and HTTP APIs. I usually write code in Go, Ruby, and JavaScript. I’ve also written a good amount of Python, Rust, and PHP. I’m fluent in English and speak Spanish natively.


Software development

I have a strong background in software development. I have worked on a wide range of projects, from front-end to backend, from small to large scale. I am always trying to keep in mind the essential thing: the customer.

As a front-end engineer, I have worked with React and Vue.js. The most significant project was Authy’s Twilio Console, a web application to manage the Twilio Authy service. The application is built with React and Redux and uses a BBF (Backend for front-end) API to communicate with the internal API.

Currently, I’m working on the Authy API, maintaining and improving it while participating in the future of the Authy product. I have worked on API design and feature discovery processes. The API serves 3M+ MAU and B2B customers of all sizes.

Authy complies with SOC2, and SOX creates additional controls and requirements that other consumer software does not have to implement. I participated in the design and implementation of a CI/CD pipeline that helps with the compliance of SOC2 and SOX. The pipeline is built with Jenkins and Docker, and it runs tests, linters, and security checks. The pipeline is now legacy, now we are aligning with the rest of Twilio and using Buildkite as our runner instead of Jenkins.

Technical leadership

In Twilio, my focus as a leader is to unblock and leverage the experience and skills of a group of 5 engineers for maintaining legacy code and keeping our SLAs in compliance.

During the years of 2014 to 2016, I worked with a team of 4 people as co-founder, and I was responsible for developing the front-end and backend of the application. As co-founder, I was also part of the product discovery and design process. Sadly, we ran out of money, closing the company.

The experience of being a co-founder and working with a small team of people has helped me to understand the importance of communication and collaboration. I have learned that the best way to achieve a goal is to work together with the team. Knowing that, I try to be a good leader and help my team to achieve their goals.

Know your customer, know your team, and know your product. These are the three things that I try to keep in mind when I’m working on a project. I believe that if you know your customer, you can build a product that they will love. If you know your team, you can help them to achieve their goals. If you know your product, keeping the lights on becomes part of the product, and honestly that is the most difficult part when creating a product, shiny features keep people excited, but keeping the reliability of the product is the most important thing, and what makes a product successful.

Posts by me

Como creo que deberiamos mejorar las fórmulas médicas en Colombia

Hace poco me pasó que tuve que comprar un antibiótico en una droguería famosa en Bogotá. El protocolo para comprar medicamentos con fórmula es que debes llevarla en físico o digital al momento de hacer la compra, normal.

How to reset network adapters on Windows

Had to help a friend of mine and found this, but the second time was hard to find the exact combinations of commands. So, I’m saving it here for my notes:

How to get diff over sqlite database files

Found this very interesting and usefull, how to do a diff for a SQLite database file: 🔗 Tracking SQLite database changes in GIT