About me

Written by Nicolò Costantini • published on 08-04-2024

Hello world!! Me llamo Nicolò Costantini, me conocen como El Costa. Somos gente valiente del rancho 🇲🇽🇲🇽

The release of the PlayStation 1 was a mesmerizing experience for me. It felt like stepping into a realm of magic. The mere action of pressing a button to awaken a world where anything seemed possible left me in awe. I was endlessly curious about how such a simple gesture could unleash such complex and captivating experiences. It was as if, in that moment, technology bridged the gap between imagination and reality, allowing us to explore new universes.

This enchanting journey into the world of videogames was further enriched by my father, who shared his knowledge and passion for computers with me. He taught me how computers work and guided me through the process of building a PC from scratch. Thanks to him, I gained not only a deeper understanding of the machines that powered my favorite games but also a profound appreciation for the intricacies of technology. His patience and enthusiasm in teaching me the basics and beyond laid the foundation for my fascination with the digital world, shaping my future in ways I could never have imagined.

In 2012, my adventure into the world of computer science began, stemming from a youthful and fervent curiosity about the inner workings of applications, computers and intricate systems. Those early days, marked by a childlike wonder inspired by videogames and fostered by my father’s teachings, have blossomed beyond what I could have ever envisioned. Today, I am profoundly grateful to be immersed in the very vocation that I dreamt of as a child: a Software and DevOps Engineer.

I find joy and purpose in immersing myself in hackathons, contributing my expertise to the open-source community and aiding emergent startups to lay down their technological keystones. My devotion to this path doesn’t wane after hours; it’s in these quiet moments that I dive deeper into the realms of cloud services, DevOps practices and backend development.

My pursuit of knowledge is unending. I dedicate time to mastering design patterns, data structures and system architectures refining the caliber and efficiency of the software I craft. This is not just a profession for me, it is a continuous journey of growth and discovery 👽

Work Experience

Upon completing high school at the age of 19, I began my university studies, eager to delve deeper into the realms of knowledge that had always fascinated me. However, not long into this academic days, I received a job offer that resonated deeply with my professional aspirations and passions. After much deliberation, I decided to embrace this opportunity, opting to continue with the job and leave university. This choice marked the beginning of a professional career that can best be described as a rich tapestry woven from diverse roles and responsibilities. Each presenting unique challenges and opportunities for growth. The positions I’ve undertaken have not only refined my technical skills but also enhanced my leadership and team-work capabilities. Below is a brief overview of the pivotal roles that have significantly shaped my career journey:

Software Engineer (2017-2022) at Solveit

Over four years at Solveit SpA, company that provides consultancy services in the IT and software engineering fields, I evolved through roles that spanned the development spectrum, demonstrating adaptability and growth in a dynamic tech environment focused on energy and manufacturing solutions.

Initially, as a back-end engineer, I worked on the MES (Manufacturing Execution System), developing desktop applications with WinForm and WPF. These applications facilitated the production of underwater cables and optic fiber by allowing users to manage machine parameters through data input and monitoring. This role heavily utilized C#, python and .net framework integrating with relationals DB and leveraging azure and git for deployment and version control (September 11th 2017 to September 30th 2018).

As a software engineer, I spearheaded IoT development projects, including the creation of a REST API back-end service for remote machine parameter control and an object recognition application to identify machinery. Additionally, it has been developed a web application for team shift management in cable production facilities. These projects have expanded my knowledge in .net core, mongoDB and react as front-end ui. Moreover, I took on the challenge of creating an event-driven application using Kafka and typeScript, which enhanced the system’s responsiveness and scalability by enabling real-time data processing and distribution across services in a hybrid cloud (onprem + azure). Furthermore, by participating in international projects, I was committed to consolidate my English skills in such a way as to be able to collaborate with the people all over the world (October 1st 2018 to May 18th 2021).

Finally, transitioning to a technical lead role, I focused on project management and the scalability of applications. My responsibilities expanded to include managing SCRUM sprints, conducting various analyses (functional, cost, requirements) and improving the tech-stack’s scalability. This phase involved the creation of docker images, kubernetes orchestration, CI/CD pipeline implementation with Azure DevOps and an upgrade to .net core 6, aiming for a more scalable microservices architecture into a hybrid infrastructure model (May 19th 2021 to June 19th 2022).

This period at Solveit, showcases a comprehensive development experience from specific product development to full-stack applications, with the enhancement of the DevOps and project management practices.

Team Leader (2022-2023) at Avanade

In my role as a team leader at Avanade Inc, the world’s leading Microsoft expert, I played a pivotal part in spearheading the digital transformation efforts for the Italian government, demonstrating a blend of technical expertise and leadership. Although I was deeply entrenched in the DevOps engineering department, I was specifically designated as the team leader for two crucial projects within the government’s public administration sector. This assignment not only highlighted my technical prowess but also underscored my capacity to lead and manage projects critical to national infrastructure and digital progress of the Italy.

As a DevOps Engineer/Team Leader, my responsibilities encompassed the full spectrum of continuous integration and continuous deployment (CI/CD) pipeline development and the management of the git repositories. This involved the meticulous design and implementation of cloud infrastructure using Terraform and Ansible, underscoring my expertise in infrastructure as code (IaC) principles. The creation of Docker images for deployment on Kubernetes clusters was a testament to my ability to streamline development workflows and enhance deployment efficiency, ensuring that new code pushed to specific branches triggered automated, seamless deployments. The stack adopted was .net core on azure functions for the back-end; instead for the front-end, was used react with typescript. For code quality and performance was configured JMeter and SonarQube.

Beyond the technical intricacies, my role demanded leadership qualities. I was tasked with creating, assigning and monitoring SCRUM tasks for developers across defined sprints in Azure DevOps. This required not only a deep understanding of project management and agile methodologies but also the ability to lead a team towards meeting tight deadlines and adhering to the highest standards of code quality and deployment practices.

Helping to lead, with project managers, the government projects as part of Italy’s digital transformation, placed me at the forefront of a significant effort to modernize the national public administration services. This role necessitated a delicate balance between technical execution and strategic leadership, ensuring that my team’s work aligned with broader governmental goals and initiatives. This showcased my capacity to navigate complex project landscapes, manage cross-functional teams and contribute profoundly to the country’s digital infrastructure and services enhancement. (from June 20th 2022 to June 11th 2023).

DevOps Engineer (2023-Now) at Aruba

Aruba SpA is one of Europe’s primary providers of IT data center and web hosting services and one of the largest cloud providers and leading companies in data center, cloud, hosting, trust services, email, PEC certified email and domain registration services. Aruba is also active in key European markets including France, the UK and Germany and is the leader in the Italy, Czech Republic and Slovakia with an established presence in Poland and Hungary. The company has a huge amount of experience in the management of data centers, with a European network capable of hosting over 200,000 servers.

Aruba SpA manages 2.7 million domains, 9.8 million email accounts, 9 million certified email (PEC) accounts, 130,000 physical and virtual servers. Aruba provides hosting services, public and private cloud services, housing and colocation services, dedicated servers, digital signature services, fiber optic internet, digital preservation, e-billing, certified email, SSL certificates and smart-cards.

During my ongoing tenure at Aruba SpA starting from June 12th 2023, I have embraced the role of the DevOps Engineer, tasked with overseeing the software releases for the company’s products and implementing automations. Utilizing deliveries tools, it is ensured the streamlined delivery of updates and new features across the offerings. The deployment strategies leverage Kubernetes and Docker, employing Helm charts for efficient orchestration through ArgoCD. The technological foundation comprises with multiple languages, frameworks and libraries to cover with pipeline or automations for the delivery of the software.

In managing the service’s network configurations, istio and nginx play crucial roles, facilitating secure and efficient communication. The deployment processes are highly automated, benefiting from a CI/CD pipeline that enhances the development and deployment cadence. Jenkins has been instrumental in refining the CI pipelines; for instance, it has been developed a Jenkins script to automate the creation of new Git repositories, complete with branch structures tailored for the workflow. Additionally, Jenkins aids in the automated tagging of commits post-merge requests across various branches ensuring a smooth integration and delivery process. To further bolster the pipeline, it has been integrated code analysis and security tools aligned with DevSecOps principles.

The monitoring framework is comprehensive, incorporating prometheus, grafana, nagios, kiali and rancher to ensure high availability and performance of services, allowing us to proactively address potential issues and maintain system integrity.

As DevOps department, this diverse tech stack underpins the commitment to innovation, reliability and excellence in software development, managing the deployment of the all Aruba services.