Sono attualmente iscritto al corso di Dottorato in Engineering in Computer Science presso la Sapienza, Università di Roma.
Ho conseguito la laurea magistrale in Ingegneria Informatica presso la Sapienza, Università di Roma nel 2017 e la laurea triennale in Ingegneria Informatica presso l’Università della Calabria.
Durante i miei studi, ho coltivato la mie passioni per la programmazione a basso livello e la struttura dei sistemi operativi combinando aspetti teorici e pratici, migliorando anche le mie competenze analitiche e concettuali attraverso la risoluzione di problemi correlati.
Essendo affascinato dal mondo dei sistemi embedded e dell’elettronica digitale sin dalla laurea triennale, il corso di Embedded System mi ha fornito un punto di vista alternativo per la progettazione di firmware su architetture RISC per il controllo di dispositivi time-sensitive.
L’esperienza di tirocinio presso Intecs (società operante nel campo dei micro controllori) mi ha permesso di applicare direttamente la conoscenza teorica su hardware reale e strumenti di laboratorio professionali.
Al contempo, il corso avanzato di Sistemi Operativi mi ha mostrato le principali problematiche dietro la progettazione e l'implementazione di moduli software sofisticati rivolti all’uso efficiente delle caratteristiche hardware presenti nei processori moderni, in particolare quelli basati su architettura CISC.
Durante il mio lavoro di tesi magistrale ho iniziato a collaborare col gruppo di ricerca HPDCS (Sapienza). Questa esperienza mi ha permesso di apprendere il valore del lavoro di gruppo e di migliorare le mia capacità di problem-solving permettendomi di affinare la ricerca attraverso l'uso di metodologie innovative e soluzioni efficienti.
Il mio interesse verso la programmazione a basso livello è determinata dal fatto che questa rappresenta il punto di giunzione tra il software di alto livello e le funzionalità specifiche dell’hardware. A tal proposito raggiungere una soluzione efficiente non è sempre banale. Infatti, programmare a tale livello richiede perseveranza e perspicacia unite a una profonda conoscenza delle architetture hardware, le cui funzionalità interne non sono sempre documentate rendendo questo tipo di programmazione un mix di intuizione e arte.
Il mio percorso di dottorato si concentra su tecniche di profilazione continua al fine di ottimizzare l’intero sistema combinando le diverse strategie con il contributo dei sofisticati, ancora poco integrati, supporti hardware, ricercando anche nuove tecniche di utilizzo.