Ingeniero de Software Senior con experiencia construyendo sistemas backend, plataformas internas de desarrollo e infraestructura de producción. Especializado en Kubernetes, GitOps y desarrollo backend en el lenguaje que cada proyecto necesite: TypeScript/Node.js, Kotlin, Ruby, Java. Donde más destaco es en programación funcional, especialmente Haskell. Tengo experiencia en despligue de aplicaciones y operación de sistemas escalables así como dictado de capacitaciones.

Áreas principales

  • Plataforma y confiabilidad: Kubernetes, GitOps, ArgoCD, Helm, Terraform, Docker, AWS y GCP.
  • Ingeniería backend: TypeScript/Node.js, Elixir, Haskell, Ruby on Rails, APIs y sistemas distribuidos.
  • Liderazgo técnico: plataformas de desarrollo, migraciones a producción, mentoría y acompañamiento de equipos.

Experiencia profesional

10Pines

Además de desempeñarme como desarrollador de software colabore en distintas areas internas de la empresa, entre ellas DevOps y el programa de mentorías. Uno de los proyecto que llevé a cabo fue el desarrollo de una developer platform para estandarizar los despliegues de diferentes aplicaciones, disminuir costos de infraestructura y reducir la dependencia del servicio externo Heroku. Por otra parte, me desempeñe como líder en el equipo de mentores, cuyo objetivo era capacitar a nuevos desarrolladores sin experiencia laboral previa. Parte de las funciones que cumplía en este rol incluían dar clases, hacer pair programming, dar feedback, fomentar el pensamiento crítico y capacitar a nuevos mentores.

Proyectos:

  • Richeta: Dicté una capacitación semanal de tres meses sobre Elixir, Phoenix y LiveView para dos desarrolladores que se incorporaban a un proyecto nuevo.
  • Ueno: Diseñé un motor de workflows modular en Kotlin para un banco paraguayo, que reemplazó su sistema de credit scoring anterior y terminó siendo adoptado por varios equipos.
  • Hoopla: Gestioné la infraestructura de más de 25 microservicios y lideré una migración de un año de EC2 a Kubernetes, mejorando la elasticidad y reduciendo los costos de infraestructura en un 50%.
  • Mumuki: Implementé un intérprete de JavaScript en Haskell que permitió ejecutar código simple de forma local para un analizador estático.
  • Telecom: Co-lideré un equipo de 16 desarrolladores que migró un BFF de Java sobre OpenShift a Node.js y TypeScript en AWS ECS y Lambda.
  • Ordo: Construí un entorno de preproducción en GKE con ArgoCD y GitOps.
  • Calculadora de Ganancias: Construí una herramienta de proyección de impuestos para empleados con Haskell y Elm.
  • Hero Motorcycles: Construí un sistema de venta online de motos con Elixir, Phoenix y React.
KubernetesElixirHaskellKotlinRuby on RailsTypeScriptNode.jsAWSGCPArgoCDDockerHelmTerraform

Paradigmas de Programación, UTN

Enseñanza de los conceptos escenciales de los paradigmas lógico, funcional y orientado a objetos.

MuleSoft Inc.

Mantuve un portal para descubrir e instalar más de 60 integraciones en una plataforma genérica de integración de servicios.

JavaScriptNode.jsExpressAWSAngularJS

Freelance

Construí una aplicación web de orientación vocacional e implementé permisos jerárquicos por organización para solicitar acceso a integraciones en organizaciones padre.

PythonDjangoAnsibleNginxDigitalOcean

Ozono Informatica

Mantuve sistemas Windows, configuré pfSense como balanceador de carga y gestioné máquinas virtuales Xen. Creé imágenes de Docker para simplificar el aprovisionamiento de instancias de Odoo para una propuesta de hosting.

DockerLinuxpfSenseWindows

Toteming SA

Mantuve y extendí un sistema de marketing para eventos con pulseras RFID, una app Android y una interfaz web, usado en eventos mensuales.

JavaAndroidPHPPythonMySQL

Proyectos

PdePreludat

Mantengo un Prelude alternativo para Haskell usado por miles de estudiantes en varias comisiones durante varios años.

HaskellBA

Organizo meetups de Haskell desde 2017.

ZuriHac 2019

Participé en el track avanzado del taller dictado por Well Typed sobre nuevas funcionalidades de GHC.

Conferer

Librería de Haskell de código abierto para gestionar la configuración de aplicaciones, con CI para las últimas diez versiones de GHC en Linux, macOS y Windows.

HaskellConfiguraciónCódigo abierto

Banana Split

Aplicación de código abierto para dividir gastos. Escrita en Haskell y Elm. Esta desplegada en un clúster personal de Kubernetes con Helm y ArgoCD.

HaskellElmPostgresKubernetesCódigo abierto

Configuración NixOS

Configuración de NixOS de código abierto para mis sistemas personales.

NixNixOSCódigo abierto

Charlas

Megaparsec: lo que las regex quieren ser cuando sean grandes

Introducción a los combinadores de parsers con Megaparsec.

Secretos para codear bash sin morir en el intento

Exploramos algunas de las características más anti-intuitivas de bash para entender cómo funcionan y lograr escribir scripts robustos.

Kubernetes más allá de los containers

Aprendemos algunos conceptos básicos de Kubernetes y exploramos porque en mi opinión la API de Kubernetes es más importante que su habilidad para correr containers.

WollokVM = run . compile . parse: Implementando una VM

Recorremos la implementación de una VM para el lenguaje Wollok usando Haskell. Junto a Facundo Gelatti.

Evaluando JavaScript en Haskell

Recorremos la implementación de un intérprete recursivo de JavaScript en Haskell para una ONG.

Haskell en el frontend: FRP con Reflex

Introducción a programación funcional reactiva con Reflex.

Formación

Universidad de Buenos Aires

Instituto Industrial Luis A. Huergo

Idiomas

  • Español: Nativo
  • Inglés: Avanzado