Luca Salvarani

Biografia

Sono uno sviluppatore software e Open Source enthusiast, con una forte inclinazione per l'automazione di attività ripetitive e l'ottimizzazione dei flussi di lavoro.

Ho una forte passione per l'apprendimento di nuove tecnologie, che mi ha portato a esplorare diversi linguaggi di programmazione e framework.

Sono costantemente alla ricerca di nuove sfide e opportunità per ampliare le mie competenze e contribuire a progetti di valore.

Esperienze

Automation developer, Re-Edit S.r.l.

Sviluppatore Java per Unicredit

Dic 2022 – presenteRoma, Italia

  • Manutenzione, modernizzazione e sviluppo di nuove funzionalità per complesse applicazioni interne legacy Java EE 8, utilizzate per automatizzare il provisioning dei server, le attività di configurazione, il polling di health-check e altre operazioni IT; tra le tecnologie impiegate c'erano CDI, JPA e JSF/Vaadin, con l'applicazione distribuita su IBM WebSphere Liberty
  • Sviluppo e manutenzione di script di automazione in Bash, Python e Perl per supportare varie attività operative IT
  • Sviluppo e manutenzione di script Jython 2.1 per automatizzare attività di amministrazione di WebSphere Application Server, portando alla creazione di jython21-backport per migliorare l'esperienza di sviluppo
  • Utilizzo di database Oracle, inclusi la scrittura e l'ottimizzazione di query SQL, stored procedure e trigger per supportare le funzionalità dell'applicazione
  • Integrazione di Ansible Automation Platform con strumenti di automazione esistenti per semplificare i processi operativi IT
  • Manutenzione di strumenti di build interni basati su Apache Maven, Jenkins e GitHub Actions
  • Utilizzo di Git per il versionamento e GitHub Issues/GitHub Projects per la gestione delle attività e la collaborazione del team

Automation developer, Re-Edit S.r.l.

Analisi dispositivi di rete CISCO per IPZS

Apr 2024 – Set 2024Roma, Italia

  • Sviluppo di script Perl per automatizzare il recupero dei dati da numerosi dispositivi di rete CISCO
  • Test automatici degli script tramite GitHub Actions, garantendo affidabilità e correttezza tra le release

Business Monitoring, Re-Edit S.r.l.

Business Monitoring per Generali

Giu 2022 – Nov 2022Roma, Italia

  • Utilizzo di Microfocus Application Performance Management (APM) per monitorare processi aziendali e applicazioni
  • Manutenzione e aggiornamento di script di monitoraggio per garantire una raccolta e un'analisi accurata dei dati

Operatore IBM WebSphere Application Server, Re-Edit S.r.l.

Operatore WebSphere Application Server per Trenitalia

Feb 2021 – Giu 2022Roma, Italia

  • Lavoro su turni di 8 ore (incluse notti e weekend) per garantire una copertura 24/7
  • Monitoraggio e gestione di celle WAS, server LDAP e MQ di produzione e non produzione
  • Attività di base di amministrazione Linux relative a WAS, quali gestione utenti, monitoraggio e gestione dello spazio su disco
  • Gestione di ticket e incident, fornendo soluzioni rapide per ridurre al minimo i tempi di inattività
  • Esecuzione di attività di manutenzione ordinaria, tra cui deployment applicativi, riavvii dei server e analisi/risoluzione dei problemi dai log
  • Sviluppo e manutenzione di script (Bash, Jython, Perl) per automatizzare attività comuni, migliorando l'efficienza e riducendo gli errori
  • Sviluppo di uno strumento interno in JavaScript per automatizzare il sistema di ticketing, riducendo il lavoro manuale
  • Sviluppo e manutenzione di script Python per automatizzare test end-to-end di applicazioni web, migliorando l'affidabilità e riducendo il carico di testing manuale

Operatore IBM DB2, Re-Edit S.r.l.

Operatore database per Trenitalia

Gen 2020 – Feb 2021Roma, Italia

  • Lavoro su turni di 8 ore (incluse notti e weekend) per garantire una copertura 24/7
  • Monitoraggio e gestione dei database DB2 di produzione e non produzione
  • Esecuzione di script DML/DDL

Operatore mainframe IBM z/TPF, Re-Edit S.r.l.

Operatore mainframe per il sistema IBM z/TPF di Trenitalia

Nov 2018 – Feb 2020Roma, Italia

  • Lavoro su turni di 8 ore (incluse notti e weekend) per garantire una copertura 24/7
  • Monitoraggio e gestione del sistema IBM z/TPF, garantendone il regolare funzionamento e le prestazioni
  • Gestione degli avvisi di sistema, attività di manutenzione ordinaria (recoup, backup su nastro) e risposta a incident per minimizzare i tempi di inattività
  • Attività di build, deploy e rollback dell'applicazione di prenotazione posti sugli ambienti di produzione e non produzione
  • Gestione dei backup di sistema (su più sistemi operativi) tramite Tivoli Storage Manager (TSM)

Junior Software Developer, Team Office S.r.l.

Sviluppatore di applicazioni web interne

Gen 2018 – Set 2018Roma, Italia

  • Utilizzo di PHP, JavaScript, HTML/CSS e SQL per sviluppare e mantenere l'applicazione web a supporto delle principali operazioni aziendali
  • Collaborazione con un piccolo team per la raccolta dei requisiti, la progettazione e l'implementazione delle funzionalità
  • Utilizzo di C# per sviluppare un software ETL per importare i listini prezzi Excel dei fornitori nel database aziendale e per sincronizzare gli appuntamenti tra il calendario interno e Outlook
  • Attività di base di help desk IT, tra cui risoluzione di problemi hardware e software, supporto agli utenti e manutenzione della rete

Progetti

setup-jython

GitHub Action per configurare Jython nei workflow GitHub

Mag 2023 – presente

  • GitHub Action di facile utilizzo per installare e configurare interpreti Jython nelle pipeline CI/CD
  • Accetta gli stessi parametri della GitHub Action setup-python, rendendola immediata da utilizzare
  • Supporta tutte le versioni di Jython dalla 2.0 alla 2.7.3, su runner Windows, Linux e macOS

jython21-backport

Backport di funzionalità Python moderne per versioni legacy di Jython (fino alla 2.1)

Mag 2023 – presente

  • Supporto per interpreti sia CPython che Jython fino alla versione 2.1
  • Retrocompatibilità garantita tramite test automatici su molteplici versioni di Jython e CPython (su diversi sistemi operativi) tramite GitHub Actions
  • Le funzionalità implementate includono: modulo json (Python >= 2.6), classe pathlib.Path (Python >= 3.4), classe bool (Python >= 2.3), funzione sorted (Python >= 2.4)

column-ansi

Implementazione parziale in Perl del comando shell column

Dic 2021 – presente

  • Formatta l'input in colonne multiple, simile al comando Unix column, con supporto ai codici colore ANSI
  • Scritto in Perl, risultando facilmente portabile e utilizzabile in diversi ambienti
  • Test automatici tramite GitHub Actions per garantire affidabilità e correttezza (utilizzando Shellcheck come framework di unit test)

Competenze

Programmazione
Utilizzo regolare di Python, Java e Git; conoscenza operativa di PHP, JavaScript, SQL, HTML/CSS e linguaggi di scripting (Bash, Perl)
Lingue
Italiano (madrelingua), Inglese (B2-C1)
Continuous Integration / Continuous Deployment
Utilizzo regolare di strumenti e pratiche CI/CD, testing automatizzato (ad esempio JUnit, Pytest) e pipeline di distribuzione (Jenkins, GitHub Actions)
Generative AI
Conoscenza pratica di strumenti/agenti AI (ad esempio GitHub Copilot, Claude Code, ChatGPT) per brainstorming, generazione di codice, debugging e supporto alla documentazione

Certificazioni

Cisco CCNA Routing & Switching 1

Gen 2016

Cambridge B1 Preliminary (PET)

Mag 2015

Istruzione

ITT "Enrico Fermi", Informatica

Voto: 70/100

2015 – 2017Frascati, Italia

ITIS "Galileo Galilei", Informatica

2012 – 2015Roma, Italia

DS Tech srl, Corso intensivo per sviluppatore Java Full-Stack

Corso intensivo sulla programmazione Java, sviluppo mobile con Ionic e tecnologie front-end (HTML, CSS, TypeScript, AngularJS)

Ott 2017 – Dic 2017Roma, Italia