Alessandro 'kLeZ' Accardo personal website

This is the personal website of an Italian developer once called 'kLeZ'.

Alessandro Accardo

Informazioni personali

Nato a Civitavecchia (RM), il 7 aprile 1987. Residente a Civitavecchia (RM).
Livello di studio: Diploma Liceo Scientifico Tecnologico presso ITIS G. Marconi, Civitavecchia, 00053, Roma (2001-2006)

Attualmente ricopro i ruoli di Solutions Architect e Team Leader presso Key 2 Business.

Sono un tecnico appassionato e sempre in cerca di nuove tecnologie, nuove metodologie, nuovi approcci, nuovi pattern. Ne imparo più che posso e ne invento quando riesco. Amo fare le cose bene e detesto quando sono malfatte, e quando succede metto volentieri le mani nel fango per dare una sistemata. Più faccio refactoring e pulizia e meglio mi sento con me stesso.

Mi piace architettare sistemi complessi usando tecniche semplici e comprensibili, ma ho un amore viscerale per i sistemi distribuiti, e mi sono specializzato in questa categoria di sistemi.

Sono sempre concentrato sulla buona riuscita del progetto e sul portare valore al business tramite il raggiungimento degli obiettivi, e di solito riesce piuttosto bene. Non mi limito a “funziona”, ma piuttosto a “è solido e costerà poco in manutenzione”, perché mi piace concentrarmi sullo sviluppo di nuove funzioni piuttosto che sulla correzione dei bug.

Badges

CKA-Badge VMware-CMS-Badge

Carriera

Solution Architect / Project Manager / DevOps Engineer / Team Leader / Senior Developer
Key 2 Business s.r.l. | 04/04/2022 - presente

Progettazione, sviluppo e manutenzione di un sistema complesso di gestione delle facility, volto alle amministrazioni e agli enti pubblici e privati clienti del consorzio.

Gestione del progetto e guida dei team di sviluppo, manutenzione e assistenza.

Sono responsabile anche della migrazione del monolite preesistente verso un’architettura a microservizi, e della migrazione infrastrutturale di tutti gli applicativi componenti il sistema da macchine virtuali Windows a Kubernetes, con elativa dockerizzazione delle applicazioni.

Il sistema si compone di diversi microservizi, tre monoliti in sviluppo da due decenni, vari microfrontend, cinque app mobile per Android, alcuni task scheduler, servizi cloud, una blockchain e un sistema di ingestion di dati provenienti da sensori IoT sparsi sul territorio fisico gestito dalla piattaforma.

In questo sistema sono presenti una grossa quantità di tecnologie, librerie, framework, linguaggi e prodotti (dai software database alle code gestite alle cache) di cui ho personale e principale responsabilità nella gestione, sviluppo e progettazione.

Innovation, Architecture and Management Coach
Key 2 Business s.r.l. | 06/09/2021 - 31/03/2023

Attività di coaching verso il team responsabile dello sviluppo e manutenzione di una piattaforma che è il core business dell’azienda cliente.

Il coaching verte sul passaggio di competenze e sull’assessment tecnologico e architetturale del sistema.
Fornisco suggerimenti oggettivi su come innovare e rinnovare il sistema e trarre vantaggio degli ultimi trend tecnologici e di progettazione del software.
Valuto lo stato dell’arte del sistema in oggetto fornendo soluzioni e suggerimenti che possono prevedere migrazioni a piattaforme più produttive e competitive, migrazioni architetturali che possono contemplare il passaggio a un approccio cloud-native quando questo risulti in linea col business, l’introduzione di strumenti e metodologie che possano migliorare la produttività e la facilità di sviluppo e progettazione dei team di sviluppo e QA e anche del PM.

Team Leader / Senior Developer / Solution Architect
Key 2 Business s.r.l. | 01/03/2021 - 01/03/2022

Progettazione e sviluppo di workflow e componenti architetturali complessi per una piattaforma di gestione delle transazioni bancarie che richiede performance near real-time.
Gestione delle implementazioni dei diversi processi bancari e finanziari di movimentazione e transazione da e verso altre banche e sistemi bancari e finanziari e da e verso sistemi di smart payment e pagamento elettronico.

Team Leader / Senior Developer
Key 2 Business s.r.l. | 30/12/2019 - 25/09/2020

Sviluppo e manutenzione di alcuni microservizi per un sistema di automazione e gestione del lavoro burocratico e di burocratizzazione delle operazioni sul campo e delle operazioni finanziarie gestite dal cliente.

Coordinamento di un team distribuito e internazionale, gestione del progetto, task management.
Progettazione delle soluzioni tenendo conto dei vincoli imposti dall’architettura preesistente e dalle linee guida allo sviluppo fornite dai partner.

Software Architect / Senior Developer
Key 2 Business s.r.l. | 02/09/2019 - 27/12/2019

Progettazione di una soluzione a microservizi basata su Spring Boot e Spring Cloud da ospitare su Azure che permetta l’elaborazione documentale e la gestione dei processi e delle procedure di lavorazione della documentazione in modo sicuro, asincrono e distribuito.
La soluzione tende a fare largo uso dei servizi offerti dal cloud provider Azure per quanto riguarda l’infrastruttura a supporto dei microservizi, prevedendo comunque degli strati di astrazione che permettano l’eventuale migrazione verso cloud provider differenti, aprendo la strada soprattutto verso Kubernetes.
Si è posta particolare enfasi nella distribuzione delle operazioni a corredo dei processi per bilanciare il carico di lavoro e per distribuire le funzionalità in modo più omogeneo possibile, per evitare al massimo problematiche di single point of failure.
Ogni operazione è progettata per poter lavorare autonomamente sulla propria porzione di processo limitando al minimo la necessità di coreografie e orchestrazioni tra servizi.
L’attenzione maggiore è stata posta nel garantire sempre l’integrità delle informazioni sia in transito che in persistenza, tramite la progettazione di comandi che garantiscano l’atomicità delle operazioni di scrittura.

Manutenzione di un sistema monolitico che permetteva l’elaborazione documentale e la gestione dei processi e delle procedure di lavorazione della documentazione in modo sicuro e asincrono.

Senior Developer
Key 2 Business s.r.l. | 03/06/2019 - 30/08/2019

Sviluppo e manutenzione di un servizio REST che fa da gateway per pagamenti scritto in PHP 5.6.

Sviluppo e manutenzione di un’applicazione web che permette l’inserimento e la gestione di progetti di natura variabile e che permette di definire sezioni di profondità variabile per la categorizzazione di KPI. I KPI vengono inseriti all’interno delle iniziative, divisi per sezioni, e sulla base dei valori inseriti dai PM vengono calcolati vari parametri di controllo, che permettono delle previsioni sul’andamento del progetto.

Senior Developer, DevOps coach @ Infoservice s.r.l.
Key 2 Business s.r.l. | 10/12/2018 - 31/05/2019

Sviluppo e manutenzione di una piattaforma multi-tenant utilizzata da vettori che offrono servizio di corriera (autobus).
La piattaforma comprende un portale online pubblico per l’acquisto di biglietti, un portale di backoffice con autenticazione per la gestione della piattaforma da parte dei vettori, dei servizi web a corredo del funzionamento e due diverse App per la gestione delle corse utilizzate dagli autisti.

Sviluppo e manutenzione di una applicazione WPF che aiuta degli operatori con un lavoro di produzione tramite una lista di operazioni standard per lotto. L’applicazione viene utilizzata tramite comandi vocali e utilizza un fotocamera Reflex per la cattura delle immagini dei passi significativi nella preparazione dell’unità.

Senior Developer @ Cluster Reply
Key 2 Business s.r.l. | 19/06/2017 - 30/11/2018

Ho sviluppato alcune evolutive per una intranet SharePoint 2013 on premises.

Ho progettato e sviluppato un portale SharePoint Online, con particolare enfasi nella progettazione della soluzione e nella stesura di linee guida di sviluppo e standard di sviluppo e qualità del codice.

Ho sviluppato delle evolutive per un sistema di streaming in diretta. In particolare, le evolutive consistevano nell’implementazione dello standard di streaming multimediale HLS, con produzione di frammenti audio-video in formato MPEG2 Transport Stream contenenti stream video in formato H.264 e stream audio in formato AAC+ all’interno del software di Encoding in C++08.

Ottimizzazione del consumo di memoria tramite analisi dei memory leak e del flusso di esecuzione con particolare enfasi nella progettazione di un flusso estremamente veloce per la necessità di processare i dati multimediali in real-time. Inoltre l’evolutiva consisteva anche nell’adeguamento dei vari player multimediali per browser utilizzando tecnologie client come Silverlight, Applet Java, Flash, HTML5 video, HLS.js, player nativi per Android e iOS.

Progettazione e sviluppo di una intranet su SharePoint Online, con particolare enfasi nella progettazione della soluzione e nella stesura di linee guida di sviluppo e standard di sviluppo e qualità del codice, ricoprendo anche i ruoli di Git Master, DevOps Architect e Technical Leader. Nel progetto è stata coinvolta anche Microsoft con cui ho collaborato anche per l’implementazione delle funzionalità di Continuous Integration, Continuous Deployment, Continuous Delivery.

Senior Developer, Team Leader, Solutions Architect @ Arma dei Carabinieri
Key 2 Business s.r.l. | 04/04/2016 - 30/06/2017

Lavoro svolto sia presso la sede del cliente, sia presso la sede interna.

Sviluppo dell’Appunto Informatizzato per la creazione e gestione degli Appunti dell’Arma.

Sviluppo dei requisiti addizionali richiesti rispetto alla base di partenza del software e installazione e manutenzione degli ambienti presso il cliente.

Senior Developer, Team Leader, Solutions Architect @ Ministero della Difesa - SGD
Key 2 Business s.r.l. | 22/06/2015 - 01/09/2017

Lavoro svolto sia presso la sede del cliente, sia presso la sede interna.

Sviluppo della Intranet del Ministero della Difesa per la gestione delle loro attività e comunicazioni.

Progettazione della piattaforma e gestione della suite di soluzioni.

Senior Developer, Team Leader, Solutions Architect @ Ministero della Difesa - SMD
IDA - International Defence Alliance / Key 2 Business s.r.l. | 05/01/2015 - 19/06/2015

Formazione di una risorsa junior su tematiche sviluppo web, asp.net, Sharepoint.

Raccolta dei requisiti, analisi, progettazione e gestione del progetto, rapporti col cliente e schedulazione dei task.

Progettazione e mantenimento della soluzione software.

Installazione e configurazione degli ambienti di sviluppo, collaudo e produzione.

Gestione delle risorse assegnate al progetto.

Sviluppo di un applicazione per il ministero per l’automatizzazione della gestione e condivisione delle lettere di comunicazioni tra reparti. Il software è in grado di memorizzare i vari documenti scannerizzati tramite sw client esterno e gestirli in document set, con i sistemi di approvazione e versionamento built-in sharepoint.

I documenti possono: essere ricercati nel sistema, visualizzati direttamente, modificare metadati ed effettuare azioni per la gestione del flusso di lavoro e stato del documento, gestendo permessi custom sui documenti a seconda dell’utente che effettua operazioni.

L’applicazione è anche in grado di supportare framework js esterni con strati di compatibilità su IE 8/9.

SharePoint Intermediate/Senior Developer @ UniCredit S.p.A.
Elit Professionals s.r.l. / Globo Informatica s.r.l. | 28/03/2011 - 31/12/2014

Ho lavorato come amministratore di sistema e sviluppatore SharePoint sia su MOSS2007 che su SP2010. Ho manutenuto la farm SharePoint di Monaco, in Germania, e sviluppato applicazioni personalizzate e componenti per questi sistemi implementando processi di Business per il management di UniCredit.

Developer Analyst @ Poste Italiane S.p.A.
IT Resources s.r.l. | 28/07/2008 - 25/03/2011

In Poste Italiane ho contribuito a sviluppare un sistema per normalizzare gli indirizzi per l’attività di recapito postale, che è il business centrale di Poste Italiane. La normalizzazione degli indirizzi veniva effettuata seguendo dei concetti matematici applicati alla comparazione tra stringhe, confrontando ogni indirizzo tramite l’algoritmo di Levenshtein con il database prenormalizzato mantenuto dallo stesso gruppo.

Successivamente ho sviluppato un sistema cartografico di aiuto alle strategie di marketing per il riposizionamento degli uffici postali nel territorio italiano e per la gestione generale del territorio ad opera dell’ufficio di toponomastica.

Questo sistema è basato sulla mia personale implementazione di un algoritmo che segue la Legge di Reilly dei modelli gravitazionali (usata nel geomarketing), che può calcolare il posto migliore per un ufficio postale nel territorio italiano misurando la zona di copertura del servizio e il bacino d’utenza servito, usando i dati delle microzone ISTAT.

Un altro componente del sistema calcolava invece la “gita portalettere”, cioè il percorso del postino sulla base della posta da consegnare. L’algoritmo implementato per risolvere il problema è stato l’algoritmo dei cammini minimi della teoria dei grafi, anche questo gestito e visualizzato sul sistema cartografico da me implementato sulla base di ESRI ArcGIS e Google Maps.

Analista Programmatore @ Accenture S.p.A.
31/03/2008 - 25/07/2008

Per 4 mesi ho sviluppato un servizio web ad alte prestazioni utilizzando Apache Axis 2, ad uso e gestione dell’anagrafe canina presso il Ministero della Salute.


Competenze linguistiche

Lingua Scritto Letto Parlato Ascoltato
Inglese C1 C1 B2 B2

Sistemi Operativi

OS Proficiency
Windows Expert
Linux Expert
Android Expert

Linguaggi

Linguaggio Proficiency
Java Expert
C# Expert
C/C++ Intermediate
Ruby Intermediate
PHP Intermediate
Python Intermediate
Perl Intermediate
JavaScript Expert
HTML5 Expert
CSS3 Expert
VB Intermediate
VB.NET Intermediate
SQL Expert
  • Basi Dati:
    • SQL Server
    • MySQL
    • PostgreSQL
    • Oracle
  • Framework Web:
    • Struts
    • Ruby On Rails
    • ASP.NET MVC
    • ASP.NET WebForms
    • ReactJS
    • ZKOss
    • Spring MVC
    • Thymeleaf
    • JSF
  • Application Server:
    • IIS
    • Jboss
    • Tomcat
    • WebSphere
    • Glassfish
    • Apache
    • Express
  • Librerie e Framework vari:
    • WCF
    • WPF
    • UWP
    • Spring
    • J2EE
    • Apache Java Framework
    • Jquery
    • Knockout
    • React
    • Underscore
    • Backbone
    • Angular
    • Bootstrap
    • Chart
    • Jquery UI
    • Android
    • Hibernate
    • NHibernate
    • Entity Framework