Table of contents

Forcom

Table of contents

I began my journey at Forcom as a Software Engineer in July 2017, joining the Perspectiv product team, which comprised a team leader, five software engineers, and two manual testers. From the outset, my responsibilities included spearheading the containerization and migration of the Perspectiv UI to Angular, alongside developing and maintaining a large project for multiple customers.

In March 2019, I transitioned into the role of a Product Manager, taking charge of the Pingo Doce & GO NOVA project. This transition allowed me to apply my technical knowledge and leadership skills further while overseeing this innovative project. Simultaneously, I continued to be responsible for training .NET software engineers in Angular, enhancing their proficiency in this technology.

Key technologies utilized

I have had the privilege of working with a diverse range of technologies throughout my career, including Docker and Kubernetes for containerization and orchestration. My experience extends to DevOps tools like TeamCity and GitLab, where I have leveraged GitLab CI for continuous integration and deployment.

In programming, I have excelled in C#, Oracle, and PostgreSQL for robust database solutions, alongside Redis for efficient caching. On the front end, I have demonstrated proficiency in Angular, harnessing its capabilities to create dynamic user interfaces with technologies such as NGRX, TypeScript, HTML, and CSS.

Key responsibilities

I have undertaken a pivotal role in implementing and evolving large-scale systems with a user base of approximately 14 million individuals. My expertise extends to programming in the .NET Framework, encompassing C#, Oracle, PostgreSQL, and Redis, while on the front end, I've excelled in Angular, utilizing technologies such as Angular 8+, Redux, TypeScript, HTML, and SCSS.

In addition, I've played a crucial role in advancing our Continuous Integration pipeline, leveraging Docker, Kubernetes, and GitLab for seamless development and deployment. My work adheres to the SCRUM methodology, featuring two-week sprint cycles managed via Redmine. I've contributed significantly to project documentation on Confluence and have been actively involved in gathering and analyzing technical requirements.

Collaboration has been at the heart of my responsibilities, as I've worked closely with cross-functional teams. My role has included architectural design, task allocation to development, deployment, and Quality Assurance teams, and continued programming in the .NET Framework and Angular, ensuring the successful delivery of complex projects.

Projects

“Everyday Shopping” Program

I worked on the Caritas Polska “Everyday Shopping” program, which aims to provide special Prepaid cards for daily shopping to seniors facing challenging situations. The central system receives annual funding from the Biedronka Foundation, distributed to those in need through regular transfers to the issued cards.

The project's focus was ensuring all Caritas Polska facilities had access to a management panel for the cards. Additionally, it involved defining monthly top-up amounts and ensuring a secure integration with the payment system deployed in stores.

Promotional video of “Everyday Shopping” Program

Key Achievements:

  • I successfully implemented the program using ASP.NET Core and the Angular framework.
  • I enabled Caritas Polska facilities to manage the cards efficiently.
  • I ensured the secure integration of the system with the store's payment infrastructure.

This project exemplifies my commitment to using technology to improve the lives of those in need, with a focus on efficiency and security in the process.

Silverlight application migration

In this project, I took on the challenge of migrating an application that had been in development since 2012, using the outdated Silverlight graphical interface, to the modern Angular framework. My primary goal was to ensure seamless system operation while transitioning to Angular for future development, gradually filling the gaps in functionality left by Silverlight.

Key Achievements:

  • I successfully integrated Silverlight components with Angular, preserving critical system functionality.
  • I meticulously outlined a migration plan for the gradual transition.
  • I ensured the continuity of the application's performance while unlocking the potential for new features and enhancements using Angular.

This project exemplifies my expertise in managing complex migrations, maintaining system stability, and evolving applications with cutting-edge technology.

Pingo Doce & GO NOVA

I led the development of the pilot autonomous store, Pingo Doce & Go NOVA, situated on a university campus near Lisbon, in collaboration with Jerónimo Martins Group. This groundbreaking project allowed customers to scan products and make payments from their phones independently. The launch of this project was a significant milestone for the Jerónimo Martins Group, with the number of customers served on opening day far exceeding that of traditional Pingo Doce stores.

The system was built using the .NET framework and utilized a Redis database. The first Pingo Doce & Go store opened on Thursday, October 3rd, 2019, in Carcavelos, close to Lisbon, on the Nova School of Business and Economics campus. Thanks to advanced in-store technology, this 24-hour store allowed customers to shop quickly without waiting in lines.

Promotional video of Pingo Doce & GO NOVA store

Key Achievements:

  • I spearheaded the development of an innovative autonomous shopping experience.
  • The project showcased advanced technology for 24-hour, queue-less shopping.
  • Using the .NET framework and Redis database ensured robust performance and data management.

This project served as a laboratory for testing new technologies and products and understanding the preferences of Generation Z consumers. It marked a significant step forward for Jerónimo Martins Group and demonstrated the potential for innovative, autonomous shopping experiences in the retail sector.

Automated test environment

I spearheaded the development of an automated test environment built on a Kubernetes cluster. The initial distributed test environments required manual configuration of multiple services within a complex IT system developed by numerous programming teams, each using various languages. The outcome of this project was the standardization of application configurations and the implementation of virtualization using Docker containers.

Subsequently, configurations for the system, delivered to various clients, were codified (Infrastructure as Code) and handed over to the testing department. In collaboration with the IT infrastructure team, existing test servers were consolidated into a single Kubernetes cluster. Through the implementation of these solutions, administrators were able to focus on maintaining the standard cluster infrastructure. At the same time, the testing department saw a dramatic reduction in the time required to launch a complete test environment, from several days to just a few hours.

Key Achievements:

  • I standardized application configurations and introduced Docker container-based virtualization.
  • I implemented Infrastructure as Code (IaC) practices for efficient management.
  • I consolidated test servers into a Kubernetes cluster, significantly reducing environment setup times.

This project showcases my ability to streamline complex test environments, optimize resource utilization, and leverage Kubernetes for efficient infrastructure management.

Perspectiv

Perspectiv is a versatile system designed for monitoring hardware and applications in retail stores, as well as managing configurations and user permissions. Key functionalities include hardware monitoring, software management, user permissions, messaging, alerting, multimedia content management, and more. It leverages a stack of technologies, including C#, Angular, Docker, Kubernetes, and Mono, to deliver real-time insights and operational control.

Key Achievements:

  • Implementation and development of a large-scale system.
  • Utilization of cutting-edge technologies for efficient monitoring and management.
  • Collaboration in a SCRUM environment, ensuring iterative development and high-quality results.