Personal Summary

10 years+ experienced tech enthusiast who worked in frontend, mobile and backend projects. Strives for simplicity and always tries to look for the most elegant and reliable solution.

Work Experience

Software engineer - SiriusXM

08/2022 - Present
Valencia, Spain (Remote)
Working in the commerce team of SiriusXM

Software engineer - Habito

10/2020 - 07/2022
Valencia, Spain (Remote)
Worked in a crossfunctional crew that took care of 2 Haskell monoliths and a few microservices adding up to one million lines of code using a custom CQRS + ES solution
  • Develop & maintain complex credit policy rules that accept/reject mortgages based on customer's data
  • Designed a restful API to integrate Habito's affordability calculations with a 3rd party vendor
  • Identified a gap in internal tooling and built a few web forms to make the operations team autonomous
  • Designed and coordinated processes to update mortgage products (application state) in production without downtime
  • Created a lot of documentation around the different subdomains on the lending platform
  • Provide training/support to peers to get onboarded on the team quickly

Technical Lead - Lookiero

05/2020 - 10/2020
Valencia, Spain (Remote)
Worked in a full stack team while promoting XP practices and delivered features
  • Developed and architected the customer referral system
  • Developed a full landing page with a tight schedule
  • Worked on components and screens that worked on both react and react native
  • Introduced some functional programming style on one of the Java BEs to help with some complex domain modeling
  • Trained team on feature toggles and how to develop in a trunk-based development style
  • Organized Haskell sessions on the reading club to help distribute functional programming knowledge across teams

Software engineer - Habito

01/2019 - 05/2020
London, United Kingdom
Worked as part of the brokerage crew(s) to deliver features while adapting for the 1st time to a real production system built using Haskell
  • Extracted three services within the same subdomain out of the monolith
  • Worked closely with the operations team to get as much knowledge as I could about affordability calculations
  • Deployed ingress for Kubernetes to allow inter-cluster communication

Software Craftsman - Codurance

01/2017 - 12/2018
London, United Kingdom
Codurance provided me with an environment to grow and develop as a professional. Since the beginning, I needed to work with different crews with different programming languages at different locations.
  • Developed a few web apps using React + JS and Typescript
  • Developed an article search engine using elastic search
  • Provided internal talks on Functional programming in Scala
  • Provided training on TDD & Testing for M&S (UK)
  • Provided an intro to AWS for Mango (Barcelona)

Android craftsman - Novoda

02/2016 - 12/2016
London, United Kingdom
Worked in a strong XP practices environment. Worked solely for the Channel 4 app
  • Developed & architectured the whole My Channel 4 experience from scratch
  • Introduced full integrated tests running against different real mobile phones
  • Developed a good amount of features using outside-in TDD
  • Developed Rx workflows within the application to handle android activity state(s)

Android developer - IG

10/2015 - 02/2016
London, United Kingdom
Worked on the main IG stock trading app
  • Rearchitectured the way the application handled state since there were memory leaks around
  • Introduced a good amount of unit/integration tests to cover the main workflows
  • Coordinated work across the different teams (India and Poland)

Android developer - Moni

05/2015 - 09/2015
London, United Kingdom
Worked on the Moni currency exchange app
  • Rebranded the application with a completely different style using the material design guidelines

Android/iOS developer - Selltag

05/2014 - 05/2015
Madrid, Spain
Worked as the sole Android developer
  • Architectured and written the application from scratch alone
  • Followed the clean architecture principles to make an extensible app
  • Introduced unit/integration tests
  • Introduced a CI pipeline to build android artifacts
  • Gather requirements from stakeholders and architect technical solutions along with implementation details
  • Maintained crash-free users of the app at around 99.7%
  • Delivered versions every 1-2 weeks since the beginning

Android/iOS developer - Movilok

11/2011 - 05/2014
Madrid, Spain
Delivered a lot of features and multiple mobile apps
  • Architectured and written from scratch the Android app BBVA (Spain)
  • Architectured and written from scratch the Android app BBVA Compass (USA)
  • Delivered a major version of the Android app BBVA Vivienda (Spain, real estate)
  • Architectured and written from scratch an Android Twitter client that measures user's influence
  • Created chart components for BBVA Research (iOS) using canvas
  • Created custom components from scratch using canvas to make animations more performant

Android/iOS Developer - Ocelabs

04/2011 - 07/2011
iOS and Android app development

Java developer - everis

01/2010 - 05/2011
Valencia, Spain
Worked on the 'Orion Clinic' project. A hospital management application that's managing a few hospitals in Valencia
  • Worked with Java swing, Websphere 6/7
  • Worked on a query migrator at the runtime that translated JDO to JPA
  • Worked on the performance of database access that was degrading vastly the experience

Developer - edinn

03/2009 - 01/2010
Valencia, Spain
Worked on the main edinn app
  • Migrated a visual basic 6 application to php + javascript
  • Worked on the main edinn app written in Java + Swing

Developer - Grupo Intecformat

09/2008 - 02/2009
Valencia, Spain
Web developer

Projects

dotfiles - My system configuration, among some scripts and utilities
timebox-evo-api - This projects spins an API to control a Divoom Timebox Evo via bluetooh. Uses TS + fp-ts
Simracing DIY wheels - Created two wheels from scratch with my 3d printer, some arduinos and my soldering iron.
FxCalendar - Discord bot written in JS that publishes the economic events and market performance for the day in a discord channel
Ubertrage - Not open source for now. Bot to find arbitrage oportunities by checking prices in some defi swaps like pancakeswap. Built with TS and used blessed (ncurses) for the UI although it works without UI as well
Clean contacts - This is not a library, this is a sample implementation of Clean architecture in Android. Currently I'm working with this architecture and I think the code becomes well structured, decoupled and maintainable, in summary, it follow the SOLID principles. This is a sample repository that I used in my talk “My way to clean Android”. It has around 60% code coverage and uses Travis CI to run the unit/instrumentation tests

Publications

Droidcon Madrid 2015
Introduction to Clean Architecture on Android
Introduction to Clean Architecture on Android

Skills & Proficiency

Backend

Haskell Scala Java Typescript

Frontend

HTML Javascript / Typescript React React Native Redux

Mobile

Android iOS Flutter

Devops

AWS Kubernetes Linux