Lead Developer2018 - PRESENTSpringer Nature
Technologies: Java, Kotlin, Scala, Postgres, MySQL, SQL Server, MongoDB, Keycloak, SAML, OAuth, Http4K
- Extended and maintained a set of services (built in-house) to provide authentication services to other internal products/services.
- Worked on defining a plan to using an off-the-shelf solution that could address our "identity related" requirements by trialing a couple of different products and driving a proof-of-concept where such a tool was used to replace our internally developed services in a way that wouldn't cause breaking changes to our current clients.
- Developed other back-end services based on Http4k for a couple of different products. Most of these services were built using Event Sourcing at their core.
Back-end Developer2017 - 2018Booking.com
Technologies: Java, Spring Boot, AWS, DynamoDB
- Created and maintained RESTful services for the iOS app.
Back-end Developer2017 - 2017Expedia
Technologies: Java, Spring Boot
- Extracted a couple of microservices from a monolith application.
Back-end Developer2016 - 2017Sky
Technologies: Java, Scala
- Developed and maintained back-end services that handled and distributed metadata information about every single piece of content available on Sky’s over-the-top products.
- Updated seamlessly a service data source (moved from a polling to a pushing strategy).
- Delivered a Kafka producer library with at least once semantics to be used by other teams.
- Worked as an active part of the recruitment of new candidates by reviewing unattended tests, making screening interviews over the phone, and pair-programming with candidates.
- Created an automated tool to run candidates' unattended tests against a predefined set of tests that we expected the solution to pass. This didn't eliminate the need to manually go over each solution, but would give us a quick way to verify whether or not the solution fulfilled the minimum requirements.
Back-end Developer2013 - 2015Blip.pt
- Handled and was responsible in creating and maintaining core components of one of the biggest betting competitors in the world. These components are used by several different applications (different web sites, mobile applications) and for massive number of simultaneous users (thus they have to be highly-scalable and 100% reliable).
- Implemented several refactors/improvements on core services allowing them to serve a lot more RPS without impacting downstream components (mostly the database and related services).
- Developed Bootstrap automation test modules that QAs would use to write specific tests.
- Tested the performance and capacity of services in order to measure their ability to cope at specific times when the whole system is put to (way) more pressure than it normally has.
Software Developer2012 - 2013First Solutions
- Handled and was responsible for maintaining and developing core components of the so called FDF (First Development Framework—an in-house framework used by other teams to develop Java and Flex web applications).
- Delivered integration solutions between our systems and third parties via ChainBuilder using (mainly) the HL7 protocol.
- Started writing tests for specific components (like the scheduling library, for instance) that were known to be buggy and were constantly failing (missing appointments). These tests allowed us to find, fix, and make sure they never reintroduced a majority of the same bugs.
Software Developer2012 - 2012Banco Finantia
Technologies: Oracle Fusion Middleware
- Worked with the team responsible for developing a completely new (based on Oracle Fusion Middleware) integration platform.
- Researched several other technologies to support the full life cycle of the developed applications in a pipeline: Maven, Ant, Jenkins, and WLST.
- Delivered a fully-functional, extensible framework for developing integration services on top of Oracle Fusion Middleware.
- Used this framework to develop the first real workflow for the bank to detect money laundering attempts.
- Conducted development in a workflow that was totally agnostic from the underlying system, this allowed us to write one single workflow and apply it on top of three different systems used.
Software Developer2011 - 2011Controlinveste
- Handled and was responsible for finishing an application that was used mainly to calculate commissions. This web application takes files provided by several different billing applications and taking in consideration a set of configurable rules, comes up with a value to be paid to each individual salesman.
- Contributed to the build of the online store (Lojadojornal.pt) specifically providing full-text searching capabilities through the usage of Solr.
- Worked on the full-stack development of a web application using front-end tools that I was unfamiliar with.
- Introduced testing on the team by creating a suite of proper unit tests with Mocking frameworks that were unknown for the team.
Software Developer2009 - 2011Portugal Telecom
- Developed and supported an electronic bill platform for a massive number of users.
- Introduced a set of new technologies on the team (Java 4 to Java 6, SVN to Git, WebLogic 8 to WebLogic 10).
- Extended the eDOCS product in order to index and store UBL 2.0 documents.
Software Developer2007 - 2008B-Simple
Technologies: Microsoft .NET
- Built from the ground-up a web portal for a real estate company with more than 50 stores spread across Portugal and Spain.
- Developed and supported a Windows Form POS application.
- Created the communication system between each POS system and the back-end server which would report every sale, client information, and more back to the head office.
- Provided training on how to use the POS application for new stores.
- Improved the process of remote assistance to the stores.