Alessandro Capezzera

Technical Lead at Zerouno S.r.l., Freelancer

About

Graduated with full marks in Computer Science from the University of Milan. I worked for years, during my school and academic studies, as a freelancer on behalf of companies and private individuals. At the same time I had the opportunity to experiment with new technologies in my free time, ranging across various areas of the sector from web apps to embedded systems. I currently hold the position of technical lead at Zerouno S.r.l., where I keep myself constantly updated day by day, leading a team of developers in their professional growth and taking care of implementing architectural solutions that increase company productivity and efficiency. Sideways as a hobby, I am fascinated by following the financial markets, in particular the technological sector, increasingly trying to understand what the factors that move them are and how to analyze them. Since I was a child I have always been curious, competitive and hungry both in the sporting and personal fields, I have never been satisfied with the goals achieved and it is probably also due to these characteristics that, just mentioning the professional field, I have achieved relevant corporate positions at 23 years old and completed dozens of projects.

Curriculum

Summary

With a decade of experience in software development and in the IT world, I have been able to touch every corner of this world, starting from the development of websites, to mobile applications, to the creation of small embedded systems.

Professional Experience

Technical Lead

02/2022 - Today

Zerouno S.r.l., Via Moncenisio 75 - 20089 Rozzano (MI), Freelancer

Tech Lead and Software Architect mainly involved on teaching the right approach to coding and problem solving to junior devs and on maintaining and improving Zerouno major product named JPuzzle. Eliminating overengineered code that slowed down writing and deploying code. Migrating monolithic repository to a package-based monorepo managed with technologies like Lerna and Nx. Introduced versioning, conventional commits, TypeDoc, Gitlab CI pipeline and many more things.

Computer Science Professor

01/10/2023 - 08/01/2024

IIS Italo Calvino, Via Guido Rossa 33 - 20089 Rozzano (MI)

Computer Consultant

2018 - 12/2022

Street Gorilla S.r.l.s., Via Alfieri 72 - 20089 Rozzano (MI), Freelancer

In my role, I've been deeply involved in the analysis, development, and maintenance of their website, ensuring it's not only functional but also up-to-date and user-friendly. This work extends to their e-commerce platform, where similar efforts are applied to provide a seamless online shopping experience for their customers. Additionally, I've taken on the development of customized management software, tailored specifically to meet the unique needs of their business operations. A significant part of my responsibilities included the Automation, which involved transforming traditional, manual processes into efficient, digital ones. Furthermore, I provided ongoing technical support, ensuring smooth operations and addressing any technical issues that arised in a timely and effective manner.

Web developer

21/09/2017 - 31/12/2018

Radicis S.r.l., Project based contract

Adding and modifying features to the e-commerce platform (Magento).

Web developer

01/06/2015 – 30/06/2015

Encodata S.p.A, Via Enrico Fermi 44 - 20090 Assago (MI), Project based contract

Development of a platform for service management and customer support. Including analysis of customer needs and subsequent final installation of the product.

Education

Machine Learning Crash Course By Google

01/2021 - 02/2021

Following the first introductory course on machine learning, I am currently taking a second Google course on generative artificial intelligence.

Bachelor Degree in Computer Science

2019 - 2021

University of Milan

After receiving a scholarship for the results achieved during the first academic year (2018-2019), I obtained, in 2021, a degree with full marks in Computer Science from the University of Milan.

The beginning

Since my childhood, I have been typing on a keyboard and wrote my first lines of code for an online video game in middle school. At the same time, at the age of 14, I created a social network as my first personal project. It was functional but never really launched online. Then, just a year later, I had the opportunity to develop a standalone application at Encodata S.p.A., which is still distributed and in use today.

Services

Websites

Do you need to create your own intuitive and professional website for yourself or your company?
Contact me

Ad hoc Software Development

Do you have an innovative idea or special needs to develop?
Contact me

Automation

Do you have mechanical work that you repeat periodically? Copying, editing and pasting data from one place to another can be done by a machine, save your precious time.
Contact me

Consultancy

Are you a company and need a professional opinion or analysis?
Contact me

Private Lessons

Do you need to prepare for an exam or do you simply want to know more about the world of IT?
Contact me

Products and Applications

Do you need to manage sales, purchases, inventory, invoicing, expenses, events, projects, points of sale, contracts, holidays, e-learning and/or much more? Discover the products already designed and developed to make you more productive.
Contact me

Contact

Location:

Currently in Italy

Loading...
An error occurred while sending your message. Please try again later.
Your Message was sent successfully. Thank you!

CoReVe Project for Tender Digitization

Project Details

  • Date: 04/2023
  • Project Duration: 3 weeks
  • Technologies Used: NodeJS /w Strapi, Angular /w PrimeNG, Brevo, OIDC Authentication /w Keycloak, Cloudflare, Docker
  • Team: 1 Product Owner, 2 Sviluppatori
  • My Role: Software architect, Code Reviewer, Technical Mentor

Project Description

In this innovative project, our goal was to transform CoReVe's traditionally paper-based processes into an efficient and intuitive digital system that simplified the tender subscription procedure. We were tasked with developing a system for creating digital tenders, aimed at municipalities, entities, and companies. The main challenge was to digitize existing paper forms into dynamic forms, simplifying the compilation process and significantly reducing formal errors through automatic validation functions.

Features and Results

  • Digitalization: Creation of dynamic forms that guide the user through an intuitive and intelligent compilation process, minimizing errors thanks to the system's automatic validation.
  • Security and Legality: Implementation of a system for generating PDF documents at the end of the compilation process, which can be digitally signed or printed for a manual signature, ensuring the legal validity of submissions.
  • Technological Innovation: Use of advanced technologies such as NodeJS with Strapi for the backend, and Angular with PrimeNG for a customized frontend, in addition to the implementation of OIDC Authentication with Keycloak.

My Contribution

As an integral part of the team, my role focused on laying the groundwork for architecture and code review. I quickly gained expertise in the new frameworks used, providing essential technical guidance to the team and ensuring the project's objectives were met within tight deadlines. Additionally, given my corporate role, I supported other developers and participated in meetings for parallel projects, demonstrating versatility and multi-project competence.

Priority Management and Time Optimization

A crucial aspect of this project was the effective management of timelines. As the tender was an officially binding document with a set publication date and time, we had to adopt a strategic approach in managing tasks. To optimize time, we decided to postpone all backoffice operations that were not immediately necessary for the tender's publication. This allowed us to focus on the absolute priority: the development of the frontoffice part accessible by municipalities, entities, and companies. This decision ensured that we could meet the stringent deadline without compromising the quality and functionality of the system, demonstrating our ability to adapt effectively to client needs and time constraints.

Refactoring and Optimization of jPuzzle

Introduction

Upon joining Zerouno, I encountered their flagship product jPuzzle: an extremely modular ERP system that concealed several technical gaps behind an old-style but functional and pixel-perfect frontend.

Initial Challenge

My first hands-on experience with the system immediately presented a challenge: excessively long compilation times. A simple 'ng serve' command required over five minutes to compile the application, a significant delay that caused each developer to lose a considerable amount of time for every small change made.

Strategies and Solutions

If you are a technician and would like to read a blog about it, you can find it here: https://www.alessandrocapezzera.it/blog/reducing-angular-compilation-time.

I began exploring ways to reduce compilation times, focusing on various configurations and optimizations. This process included:

  • Removal of Unnecessary Steps in Development Mode: By examining the Angular compiler configuration, I identified and disabled some options that were slowing down the compilation, such as optimization and the generation of a single bundle.
  • Review of the Configuration File (tsconfig.json): I analyzed and optimized the TypeScript configuration file to ensure that only the necessary files were included in the compilation.
  • Packaging and Use of Nx: Facing the complexity of a large monolithic application, I adopted the approach of dividing it into smaller, more manageable npm packages, using Nx for efficient management. This allowed for incremental and parallel compilation, drastically reducing compilation times.
  • Application of the KISS Principle (Keep It Simple, Stupid): An important lesson learned was the simplification of the code. By eliminating overengineering and reducing the amount of code, I was able to maintain 100% of the functionality removing a big quantity of the existing legacy code (following the Pareto principle).

Results

Thanks to these strategies, I was able to reduce the compilation time from five minutes to just a few seconds, greatly improving efficiency and collaboration in development. This project demonstrated the importance of a flexible approach and critical thinking in solving technical problems.

Informazioni

Description

A dynamic web solution combining a robust Prestashop e-commerce platform with, at that time, an innovative coaching management application (using Laravel + Voyager). This project also features a cross-platform customer app (built with Ionic), Automation including a custom Chrome extension for streamlined e-commerce operations, and dedicated tech support, encapsulating a full spectrum of digital commerce and coaching services. Pretty most of the site regarding the gym business is customizable by the owners through a cms.

Info

  • Location: University of Milan
  • Date: 06/2019
  • Specification: Show
  • Report: Show
  • Logisim Circuit: Download

Description

The project involves creating a 32-bit RISC architecture, inspired by the MIPS architecture, featuring a reduced instruction set architecture (ISA) and an ALU for integer number processing. Instructions are entered into the Instruction Register through Logisim's editor. Upon activating the clock, the instructions are executed sequentially until the last one in the IR. To demonstrate functionality, a program is loaded that inserts 6 elements into the main memory, each 4 bytes in the form of an array. It places an element k in register $a1, scans the array, and sets register $v0 to 1 if the element k is found, 0 otherwise.

Info

  • Location: I.I.S. Evangelista Torricelli & ST Microelectronis
  • Date: 2017
  • Concept: Show
  • Presentation: Show
  • Interview: Show

Description

Developed an innovative "smart bin" project that interfaces with a database to track waste levels, emptying schedules, and other data for efficient waste management. This system includes a user-friendly web and mobile app for real-time monitoring of bin capacity, optimizing waste collection schedules, and reducing fuel consumption. Features include fill-level sensors, a waste-compacting mechanism, GPS tracking, and a GPRS/GSM board for data transmission, all designed with user safety and cost-effectiveness in mind, with hardware costs under €90.

Info

Description

A sleek, user-friendly site for Dr. Rossana Capezzera, showcasing dermatological services with a CMS for easy content management by the owner. This project highlights my skills in creating accessible, efficiently navigable websites with a focus on client and patient engagement.

Info

Description

The core idea was to create a functional yet unobtrusive attachment that could be mounted at ear height on a helmet. The pieces were modeled in Blender, fitting perfectly on the lace of the helmet, ensuring a secure fit. The primary function of these attachments was to provide anchor points for a COVID-19 mask, thereby allowing users to wear masks comfortably without having to uncover their ears or adjust the helmet fit.