Pablo P.

Pablo P.

Full-Stack Python, React.js Developer

Request Rate
Argentina

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.

Skills

  • Python
  • Javascript
  • Linux
  • HTML
  • CSS
0246810

Experience

Santander Tecnología Argentina, Argentina, Buenos Aires

Python / React.JS Full Stack Developer

April 2021 to Present

Stack:

  • JavaScript,
  • React,
  • Sonar,
  • Python,
  • PostgreSQL.


Responsibilities:

  • As a functional analyst in SanTec, I am part of a team tasked with developing an ecosystem of microservices named DUMBO, which aims to provide Santander developers with tools to self-manage the underlying infrastructure for their projects.
  • When I joined the team, DUMBO was a small Python API that kept track of internal applications and projects, and allowed users to manage some aspects of their Gitlab repositories from a React frontend.
  • Today, DUMBO allows users to manage their Openshift containers, create and manage WAS servers, databases, and Kafka topics, manage Gitlab users and PR approval policies, as well as send emails or notifications, among a myriad of other tasks.
  • We have also instituted a validator microservice that is used by Gitlab pipelines to determine whether an app is allowed to deploy based on Sonar quality metrics, Jira story status, and company maintenance schedules. Both the frontend and the backend services have unit tests and excellent Sonar scores.

ArtdeCode SRL, Argentina, Buenos Aires

Java / Angular Fullstack Developer

June 2020 to April 2021

Stack:

  • Java 6 and 8,
  • Spring Framework (Boot, MVC, Data JPA),
  • Sybase,
  • JSP,
  • JQuery,
  • Angular 8.


Responsibilities:

  • I was part of a team whose mission was to migrate a legacy Java 6 API to a Java 8 Spring app.
  • Most of the complex business logic of the legacy app was handled by Sybase stored procedures, and that logic was migrated to a Java 8 service-repository layered setup within the new app.
  • Additionally, as the migration went on, we had to tweak the Angular v9 frontend so as to point to the new Java 8 API.

Connectis ICT Argentina S.A.

Junior Functional Analyst

March 2018 to June 2020

Stack: 

  • Java 8 and 11,
  • Spring Framework (Boot, MVC, Data JPA, Security),
  • Camel,
  • MySQLб
  • MariaDB,
  • Bootstrap,
  • JQuery,
  • Vue.js,
  • Vue Router,
  • VueX.


Responsibilities:

  • During my time at Connectis I worked with my peers for Tuenti, developing a Java 8 backend and a Vue.js frontend, as well as a customer-facing form, to track and manage mobile portability requests from customers. 
  • The app as a whole received user input and allowed the business to manage SIM chip stock and delivery.

Education

Technical-Scientific-Literary Translator (English-Spanish pair), ENS en Lenguas Vivas "Sofía E. B. de Spangenberg"

September 2002 to February 2007

Argentina

Computer Sciences Diploma, Escuela técnica N. 37 D.E. 11,“Stella Maris”

September 1997 to February 2002

Argentina

Portfolio

DUMBO: Provisioning and Management Tool for Santander Tecnología
April 2021 - February 2021
DUMBO: Provisioning and Management Tool for Santander Tecnología
April 2021 - February 2021

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.


Technologies used:
Java, Python, React, Redux, Node.js, Webpack, Git, Spring
Sales and Benefits App for a Bank and its Partner Businesses
June 2020 - April 2021
Sales and Benefits App for a Bank and its Partner Businesses
June 2020 - April 2021

Description: 

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.

Technologies used:
Java, Angular
CRM For Tuenti (Mobile Telecommunications Company)
April 2018 - June 2020
CRM For Tuenti (Mobile Telecommunications Company)
April 2018 - June 2020

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%.

Technologies used:
Java, CSS, Vue.js, HTML