Pablo is a passionate developer and problem solver with a genuine enjoyment for optimizing solutions and leaving behind quality code. As a professional I have two priorities – meeting business needs and leaving a solid foundation for devs who will come after me.
Santander Tecnología (SanTec) is a branch of Santander Bank Argentina whose mission is not merely to be an IT department, but to drive innovation by following the example set by MercadoLibre and other progressive technological organizations. At SanTec, I was part of a 7-member SCRUM team (2 frontend, 2 backend, 2 fullstack and 1 tech lead) charged with developing and maintaining an ecosystem of microservices known as DUMBO.
DUMBO aims to be the SanTec application inventory, but it is also meant to automate manual, time-intensive, everyday procedures and therefore minimize bureaucracy. DUMBO allows user to quickly create and customize Gitlab repositories, provision hosts, databases, and Kafka topics, customize users and their roles in each application, request and receive approval by superiors on a variety of operations, and more. As of 2023, the rate of adoption for DUMBO had been steadily increasing for three years, evidencing its ever-growing role in the organization.
My responsibilities as a developer in this position was to receive requests for functionality from all areas of Santander Tecnología, design fitting solutions with my peers, and put those designs into practice. I wrote unit tests both for the backend and the frontend, as well as end-to-end tests as part of my daily tasks. As of July 2022, our tech lead took on additional responsibilities and, as the second team member with the most seniority, it became a part of my daily tasks to deal with incoming requests for functionalities, organizing the Jira board, moderating most team meetings, helping out or doing pair-programming with the junior members of our team, check and approve pull requests by my team members and developers from other teams, and even attend some company-wide talks.
During my time at SanTec, DUMBO’s adoption rate and usage statistics had climbed year after year, evidencing the ever-growing role this application had in day to day operations. When I arrived at the team, unit test coverage across the 3 microservices that existed was below 30%. As of January 2023, it was over 90% across 6 microservices. I also helped bridge the gap between our team and external teams who also integrated with our apps, by creating several Python libraries. The most important ones were a library which offered a set of common exceptions (or errors) to be shared by all apps in the ecosystem, as well as a mapper that transformed these exceptions into the adequate REST status codes for HTTP responses. These libraries integrated with Flask at setup behind the scenes in order to minimize developer intervention. I also wrote a library that allowed users to quickly and simply set up mocks for external APIs in unit tests, as well as a set of builders for entities. Together, these two solutions turned ugly, complicated unit-test setups into streamlined, declarative, reusable code.
While at ArtDeCode, I worked for BBVA as part of a 5-man team tasked with migrating a Java 6 backend and an Angular.js frontend to, respectively, a Java 8 backend with a custom framework and an Angular 8 frontend. The application was a place where the bank could add, edit or remove a number of benefits and sale opportunities it offered via its debit and credit cards. The businesses who wished to adhere to those benefits in order to offer them to their consumers, had to create an account and use the public-facing frontend to do so.
My responsibilities as a developer in this position was to assess the functionalities I was tasked with migrating, designing an equivalent solution in the new 2-tier architecture, and implement it in Java 8, using the new capabilities of the language when desirable. The most gruesome part of the job was migrating complicated logic from Sybase stored procedures to Java code, as well as untangling overgrown Java 6 beans. After migrating the functionality, we were tasked with manually testing it, since unit tests had been scrapped in order to speed up the migration. Once tested, we had to reroute the frontend API calls from the old backend to the new one.
During my time at ArtDeCode, the migration proceeded steadily, but the application featured many hundred classes and stored procedures, and I left before the work was completed.
Tuenti, a small branch of Movistar Argentina focused on prepaid mobile phone plans, wanted a way to streamline their Mobile Number Portability (MNP) process. They were a small organization and their clientele was growing faster than they could manage. I was part of a group of 4 developers tasked with helping them automate their manual processes. Connectis, the consultant company that employed me, was a strong proponent of the SCRUM methodology, and in this one job I felt it was really well applied. The developer team, the SCRUM master and a couple representatives from Tuenti formed a team that was in constant communication. It was a great collaborative experience. Connectis was also a great place to learn about clean code and agile practices, which were enforced by a team of leaders who supervised all of the development teams.
My responsibilities in this job ranged from meeting with the client to assess their current situation and needs, designing software solutions that help the client achieve their goals, and maintaining those solutions. We also deployed manually, so we had to use an SSH console to connect to a Linode server and deploy manually using Tomcat. We also had to tweak the Apache HTTP server ourselves when the client asked for a specific redirect.
During my second year at the project, I focused on learning Vue.js, which was the reactive framework chosen by Connectis. I was one of the main driving forces behind the migration of the public MNP website from jQuery to Vue. Also, after we created a self-service website (autogestion.tuenti.com.ar), I pioneered the use of service workers in Connectis, by creating one that allowed users to install it as a web app on their mobile phones, as well as receive targeted notifications via Firebase.
While I worked at Connectis, Tuenti saw their yearly MNP completion rate increase by almost 600%.