Senior Software Engineer focused on backend systems, at home in whatever language a project calls for: TypeScript/Node.js, Kotlin, Ruby, Java. Functional programming is where I go deepest, especially Haskell. Over ten years of experience designing APIs and distributed systems, operating services in production on Kubernetes, and training and mentoring other developers.
Core Expertise
- Backend systems: Haskell, Elixir, TypeScript/Node.js, Ruby on Rails, APIs, and distributed systems.
- Functional programming: Production Haskell and Elixir, open source, teaching, and community work.
- Delivery & operations: Kubernetes, GitOps, and experience operating services in production.
Professional Experience
10Pines
Beyond working as a software developer, I contributed to several internal areas of the company, among them DevOps and the mentoring program. One of the projects I carried out was building a developer platform to standardize deployments across applications, cut infrastructure costs, and reduce our dependency on the external Heroku service. I also served as lead of the mentors team, whose goal was to train new developers with no prior work experience. My responsibilities in that role included teaching classes, pair programming, giving feedback, encouraging critical thinking, and training new mentors.
Selected projects:
- Richeta: Taught a weekly, three-month training program on Elixir, Phoenix, and LiveView for two developers joining a new project.
- Ueno: Designed a modular workflow engine in Kotlin for a Paraguayan bank, replacing its legacy credit scoring system and later adopted by several teams.
- Mumuki: Implemented a JavaScript interpreter in Haskell that enabled a static code analyzer to run simple code locally.
- Telecom: Co-led a 16-developer team migrating a BFF from Java on OpenShift to Node.js and TypeScript on AWS ECS and Lambda.
- Income Tax Calculator: Built an employee tax-forecasting tool with Haskell and Elm.
- Hero Motorcycles: Built an online motorcycle sales system with Elixir, Phoenix, and React.
Paradigmas de Programación, UTN
Teaching the essential concepts of the logic, functional, and object-oriented paradigms.
MuleSoft Inc.
Maintained a developer portal for discovering and installing 60+ integrations in a generic integration platform.
Projects
PdePreludat
Maintain an alternative Haskell Prelude used by thousands of students across multiple course sections over several years.
HaskellBA
Organize Haskell meetups since 2017.
ZuriHac 2019
Participated in the advanced track of the workshop given by Well Typed about new GHC features.
Conferer
Open source Haskell library for managing application configuration, with CI coverage across the latest ten GHC releases on Linux, macOS, and Windows.
Banana Split
Open source expense-splitting application. Written in Haskell and Elm. Deployed on a personal Kubernetes cluster with Helm and ArgoCD.
Talks
Megaparsec: what regex want to be when they grow up
Introduction to parser combinators with Megaparsec.
Secrets for writing bash without dying trying
We explore some of the most counter-intuitive features of bash to understand how they work and manage to write robust scripts.
Kubernetes beyond containers
We cover some Kubernetes basics and explore why, in my opinion, the Kubernetes API matters more than its ability to run containers.
WollokVM = run . compile . parse: Implementing a VM
We go through the implementation of a VM for the Wollok language using Haskell. With Facundo Gelatti.
Evaluating JavaScript in Haskell
We go through the implementation of a recursive interpreter for JavaScript using Haskell for an NGO.
Haskell at the frontend: FRP using reflex
Intro to Functional Reactive Programming using Reflex.
Education
University of Buenos Aires
Instituto Industrial Luis A. Huergo
Languages
- Spanish: Native
- English: Advanced