Senior Software Engineer
2022 - PRESENTTravelPerk- Improved the architecture of the payments domain by introducing DTOs, protocols, and dependency injection patterns.
- Performed several investigations about outstanding and far-reaching bugs.
- Introduced automated code quality improvements across the whole system.
- Mentored several developers on Python and Django internals.
Technologies: Python, Python 3, Django, Django REST Framework, React, APIs, Stripe API, PostgreSQL, Relational Databases, HTML, CSS, REST APIs, Amazon EC2, AWS RDS, JSON, TypeScript, DockerPrincipal Engineer
2021 - 2022Toptal- Held the tech leadership of the Talent-Post-Hire team.
- Wrote an internal library for secure and authenticable server-to-server communication.
- Participated in the build of the internal on-call rotation management app and the related chatbot.
Technologies: Ruby, Ruby on Rails (RoR), React, JavaScript, Amazon Web Services (AWS), APIs, PostgreSQL, GraphQL, Microservices, REST, Architecture, JSON Web Tokens (JWT), Slack, Slackbot, Slack API, Relational Databases, HTML, CSS, REST APIs, Amazon EC2, Amazon S3 (AWS S3), AWS RDS, JSON, TypeScript, Team Leadership, DockerSenior Engineer
2020 - 2021RubiconMD- Assisted the team with substantial improvements in code quality and processes.
- Introduced advanced interactive tools for the back office that shortened the overhead of manual intervention on client onboarding.
- Wrote a generic bulk import framework that resulted in a drastic error reduction in all CSV import and handling activities.
- Wrote a component-based printed document framework to standardize all produced PDFs into a consistently designed form.
Technologies: Ruby, Ruby on Rails (RoR), Angular, HIPAA Compliance, Amazon Web Services (AWS), APIs, PostgreSQL, Relational Databases, HTML, CSS, REST APIs, Amazon EC2, AWS RDS, JSON, TypeScriptLead Engineer
2016 - 2020Kantox- Architected the new Kantox SPA front end. Started the initiative and built a team around it to replace the previous client interface.
- Wrote an in-house extensible framework to build internal back office interfaces.
- Created the first Elixir and Phoenix project in the company (a real-time payment management system), taking it from design to full production in two months.
- Led the payments team, increasing velocity and reducing incidents related to the team´s work.
- Mentored several engineers, which have since become team and QA leads.
- Presented several times in the Barcelona Elixir meetup, raising awareness of the technology across the company and outside of it, leading to additional hires.
Technologies: Ruby, Elixir, Ruby on Rails (RoR), Ember.js, JavaScript, PostgreSQL, MySQL, Spanish, Amazon Web Services (AWS), APIs, Phoenix, ActiveMQ, RabbitMQ, Redis, Redis Queue, Redis Cache, Ruby on Rails 3, ECMAScript (ES6), Relational Databases, NoSQL, HTML, CSS, Sass, REST APIs, Elasticsearch, Amazon EC2, Amazon S3 (AWS S3), AWS RDS, JSON, TypeScript, Team Leadership, DockerCTO
2013 - 2018Bebookness- Developed the entire system in its first version after joining the startup when no code was written yet, including integrations with payment systems, interaction with the distribution platforms, and the multilanguage public pages.
- Integrated with a third-party ERP to manage item prices and invoices.
- Created a royalty aggregation system to simplify the writers' experience.
- Created internal automated tools and established processes to optimize books in epub format. It included image format changing and optimization, automatic chapterization, and the introduction of semantic CSS in place of manually applied styles.
Technologies: Ruby on Rails (RoR), Ruby on Rails 5, Ruby, Spree Commerce, Payment APIs, EPUB, Ember.js, Relational Databases, NoSQL, jQuery, HTML, CSS, Sass, Elasticsearch, Amazon EC2, Amazon S3 (AWS S3), JSON, CTO, Team LeadershipCTO
2015 - 2016Boolino- Switched the bank integration for payments to a secure, encrypted one across all company systems.
- Created a landing site container app that would reduce the time to build a new landing site for a publisher by 70% and the cost of hosting them by 90%.
- Prepared the system to be integrated with German and English book catalogue systems and book distributors.
- Improved the reliability and reduced complexity of user-facing features such as infinite scroll and visual overlays by using modern CSS and JavaScript.
Technologies: Django, Python, Google Cloud Platform (GCP), Spanish, MySQL, Python 3, Relational Databases, jQuery, HTML, CSS, JSON, CTO, Team LeadershipSenior Software Engineer
2014 - 2015Avallain- Created a stand-alone educational grant management system for Nigerian education NGOs.
- Developed a microservice that allowed to convert any document format to any other in order for the main LMS to export material. It was made as a Node.js API commanding the Pandoc tool.
- Participated in the construction of the Avallain Unity architecture.
Technologies: Java, Node.js, Ruby on Rails (RoR), Ruby on Rails 5, Ruby, MySQL, APIs, Turbo, Pjax, Message Bus, Relational Databases, HTML, REST APIs, JSONCTO
2014 - 2015MyTwinPlace- Took a project written by a third-party agency that came to a complete stall, rebuilt it on a goo architectural basis, and released a faster and more user-responsive platform in two months.
- Wrote several chatbots to gain platform visibility across users of other temporal hosting networks (CouchSurfing, Craigslist, and others).
- Wrote web scrapers to import data from other networks such as Airbnb and HomeExchange.
- Mentored team members completely new to Ruby and Rails to being senior engineers.
Technologies: Ruby, Ruby on Rails (RoR), MongoDB, JavaScript, Spanish, Heroku, NoSQL, jQuery, HTML, CSS, Sass, Elasticsearch, Amazon S3 (AWS S3), JSON, CTO, Team LeadershipSenior Engineer Architect
2011 - 2014Ftopia- Wrote a synchronization framework that could represent any type of content, files, and documents consistently to the user, enabling local synchronization.
- Wrote plugins of said frameworks ranging from documents uploaded in Salesforce to photos in a Facebook account to files stored in Google Drive or Box.net.
- Designed the access control system at the core of the Ftopia product.
Technologies: Ruby, Ruby on Rails (RoR), Angular, MySQL, APIs, Relational Databases, jQuery, HTML, CSS, Sass, REST APIs, Amazon S3 (AWS S3), JSON, Team LeadershipCTO
2012 - 2013beQbe- Brought the full beQbe project from idea to production in a few months.
- Mentored a whole team of completely new developers to the technologies involved.
- Managed stakeholders' expectations and provided innovative ideas to achieve the original vision.
Technologies: Ruby, Ruby on Rails 4, Ruby on Rails (RoR), AngularJS, JavaScript, Amazon Web Services (AWS), Heroku, MySQL, APIs, Relational Databases, jQuery, HTML, CSS, Sass, JSON, CTO, Team LeadershipSoftware Engineer
2009 - 2011Flumotion- Created a hybrid Django/Flash content management system to arbitrary place pre-roll, mid-roll, and post-roll in variable-length videos.
- Created a video player with visual scrub when there was no such thing yet in the market. This part of the product was one of the major selling points of the whole platform.
- Created a video playlist management system and accompanying JavaScript snipped to include playlists in client websites.
Technologies: Python, Twisted, Django, ActionScript 3, Flash, OSMF, MySQL, APIs, Relational Databases, jQuery, HTMLSoftware Engineer
2007 - 2009Gestores 1880 SL- Created a front-end in-app windowing system with lazy module loading to scale up the tools offered to the clients.
- Participated in defining the domain models and their implementation as entities and related classes.
- Wrote all the custom annotations used to inject behavior in DAOs, entities, servlets, and services.
- Established a high availability strategy for core pieces of the platform.
- Wrote the client part of a driver for label printers that could send data directly from the flash application to a locally attached printer.
Technologies: Java, C#, ActionScript 3, Adobe Flex, JBoss, JEE, Hibernate, APIs, Aspect-oriented Programming, Oracle, Adobe AIR, AMF, Relational Databases