Ciao, sono Paolo Brusa

Ingegnere Informatico | Software Developer

Sviluppo software con focus su backend e cloud: Java, Python, C e C++, Docker, AWS e GCP

Chi Sono

Sono laureato in Ingegneria Informatica al Politecnico di Milano (2026). Durante il percorso ho sviluppato progetti in Java, C, C++, Python, SQL e VHDL, lavorando su algoritmi e strutture dati, progettazione software e sviluppo in team. Nel tirocinio di tre mesi in Social Thingum mi sono occupato del backend di un'applicazione con IA generativa integrata, su infrastruttura GCP e AWS, usando Docker e applicando buone pratiche di prompt engineering.

Ho basi di cloud su AWS e GCP (Docker, Terraform) e un primo approccio a Kubernetes. Fuori dall'università ho realizzato progetti personali: un'applicazione per l'analisi dei titoli in borsa con un analista basato su IA, bot Discord in Python, mod per videogiochi e piccole utility per Windows. Cerco un ruolo da software engineer in ambito backend, cloud o dati.

Competenze Tecniche

Linguaggi

Python, Java, C, C++, JavaScript, HTML e CSS, SQL, Lua, VHDL

Backend e Cloud

AWS, Google Cloud Platform, Docker, Terraform, API REST con FastAPI, integrazione di API di IA. Kubernetes, Helm, Prometheus e Grafana a livello base

Database

SQL, MariaDB, pandas per l'analisi dei dati

Tools

Git e GitHub, GitLab CI/CD, IntelliJ IDEA, VS Code, HeidiSQL, Claude Code

Curriculum Vitae

Formazione

Laurea in Ingegneria Informatica

2022 - 2026

Università Politecnico di Milano

In sostituzione della tesi sono stati svolti 3 progetti in Java, C e VHDL
Principali materie: Algoritmi, Basi di Dati, Ingegneria del Software, Reti, Sicurezza Informatica

Esperienze

Backend Developer/Cloud (Stage), Social Thingum

09/2025 - 12/2025

Milano

Sviluppo backend di un'applicazione con IA generativa integrata, su infrastruttura GCP e AWS. Uso di Docker per l'esecuzione e il rilascio dei servizi e applicazione di buone pratiche di prompt engineering nell'integrazione con i modelli di IA.

Sviluppo di programmi server in Lua e Java

01/2025 - 12/2025

Progettazione e sviluppo di mod per videogioco (Project Zomboid) in Java e Lua.

Certificazioni

  • AWS Certified Cloud Practitioner - AWS - 2025

Progetti

Stock Analyzer Pro

Stock Analyzer Pro

Progetto Personale

Applicazione desktop in Python e PyQt6 per l'analisi tecnica e fondamentale di qualsiasi titolo (azioni, ETF, criptovalute, indici), pensata come aiuto in più nel proprio piano di investimento. Circa 3.500 righe di codice, sviluppate con il supporto di strumenti di IA.

  • Dati di mercato e fondamentali da Yahoo Finance e grafici a candele interattivi (TradingView Lightweight Charts) con medie mobili, Bollinger, RSI, MACD, Stocastico, ATR, OBV, ADX e CMF.
  • Supporti e resistenze rilevati in automatico (estremi frattali e clustering dei livelli con SciPy).
  • Motore di analisi a regole: segnali tecnici e fondamentali pesati per orizzonte (breve, medio, lungo), punteggio da -100 a +100, raccomandazione e strategie con stop loss e target calcolati sull'ATR.
  • Tab «AI Analyst» con l'API Google Gemini (con ricerca web) e conversazione di approfondimento; interfaccia reattiva con worker su thread separati e distribuzione come eseguibile Windows con PyInstaller.
Python PyQt6 pandas Gemini API PyInstaller
Galaxy Trucker Digital

Galaxy Trucker Digital

Progetto Universitario in team di 4 [Voto: 29/30]

Versione digitale del gioco da tavolo di Cranio Creations, con regole complete, interfaccia testuale e grafica in JavaFX, più partite gestite in contemporanea e comunicazione client-server sia con RMI sia con socket TCP. Architettura MVC, circa 25.000 righe di codice e test JUnit con copertura superiore all'80% su modello e controller. Mi sono occupato in particolare della parte di rete.

Java JavaFX RMI e Socket JUnit 5 Maven
Movhex Esagoni

Movhex Esagoni

Progetto Universitario [Voto: 30/30]

Programma in C per il calcolo dei percorsi di costo minimo su una mappa di esagoni con costi di uscita variabili e rotte aeree, pilotato da comandi su standard input. Le strutture dati sono realizzate da zero (hash map a concatenazione, min-heap, cache dei percorsi già calcolati) e il percorso minimo è calcolato con Dijkstra con early termination personalizzata, ottimizzato per carichi con molte richieste di percorso e poche modifiche alla mappa.

C Hash map e heap Dijkstra CLion
Aste online

Aste online

Progetto Universitario [Voto: 27/30]

Applicazione web per aste online in due versioni: pagine JSP lato server e single page application in JavaScript. Backend in Java (servlet) con MariaDB, pattern MVC con bean e DAO, prepared statement contro la SQL injection e filtro di autenticazione sugli URL. Nella versione JavaScript il server risponde in JSON e il client è organizzato a moduli con chiamate AJAX, protezione da XSS e localStorage per ricordare l'ultima azione e le aste visitate.

Java JSP e JavaScript MariaDB (HeidiSQL) Tomcat
FPGA Programmable

FPGA Programmable

Progetto Universitario [Voto: 26/30]

Prova finale di Reti Logiche: componente hardware descritto in VHDL che legge una sequenza di dati dalla memoria, applica un filtro di ordine 3 o 5 e riscrive i risultati. È realizzato con una macchina a stati finiti e una finestra scorrevole di 8 valori per rispettare i limiti di risorse della FPGA, e consegnato con una relazione tecnica.

VHDL Macchine a stati Vivado
TrapRotator

TrapRotator

Progetto Lavorativo

Applicazione nativa per Windows in C++ (Win32 e GDI+, circa 1.900 righe) per la manipolazione di immagini, nata in Python/Tkinter e riscritta in C++ per migliorare le prestazioni e ridurre le dimensioni dell'eseguibile. Esegue rotazione, scalatura, erosione e regolazione dei margini in millimetri, con normalizzazione a 600 DPI, conversione in bitmap monocromatica (BMP e TIFF), backup dei file originali e interfaccia in italiano o inglese.

C++ Win32 e GDI+ Python VS Code

Script, bot e strumenti

  • Bot Discord in Python (discord.py) per la gestione di un server: apertura di ticket per categoria con canali dedicati, moduli di compilazione, comunicazione delle assenze con scelta dei giorni e chiusura con esito inviato nei canali di competenza, tramite pulsanti e finestre modali. Server Flask di keep-alive e Dockerfile per l'esecuzione in container.
  • Script Python (sola libreria standard) per riavviare un router tramite la sua interfaccia web: replica lato client il login con autenticazione SRP-6a (gruppo a 2048 bit, SHA-256) del dispositivo e invia il comando di riavvio.
  • Utility nativa Win32 in C++ (circa 600 righe) con quattro opzioni combinabili salvate come maschera di bit in un file INI di configurazione: all'applicazione delle modifiche chiude e riavvia il programma interessato e ricorda la posizione della finestra nel registro di Windows.
  • Script batch per Windows per il backup automatico dei salvataggi di Minecraft su MEGA tramite MEGAcmd e per il loro ripristino.
  • Home lab su Raspberry Pi 5 con pieOS: VPN con Tailscale che instrada il traffico dei miei dispositivi verso il Pi, dove Pi-hole filtra pubblicità e tracker a livello DNS come scudo di rete, e server NAS personale con Nextcloud per file e backup.

Contattami