// INDEX.
// PROFESSIONAL SUMMARY.
// EDUCATION & PROFESSIONAL DEVELOPMENT.
// NOVARTIS
▸ 2008 — 2026// AISCO Firetrainer
▸ 2020 — 2023
// ALCATEL-LUCENT (NOKIA)
▸ 2006 — 2008for() loops — blindly examining every possible triplet of nodes, regardless of whether they had already been processed. Complexity: O(n³). As the number of managed network elements grew, execution time ballooned.| Network size | Before | After | Speedup |
|---|---|---|---|
| 500 nodes | ~9 s | ~0.5 s | ~18× |
| 1,500 nodes | ~60 s | ~1.5 s | ~40× |
| 3,000 nodes | ~5 min | ~3 s | ~100× |
// Every triplet of nodes examined — O(n³)
for (int i = 0; i < nodes.size(); ++i) {
for (int j = 0; j < nodes.size(); ++j) {
for (int k = 0; k < nodes.size(); ++k) {
if (isConnected(nodes[i], nodes[j]) &&
isConnected(nodes[j], nodes[k])) {
resync(nodes[i], nodes[j], nodes[k]);
}
}
}
}
After — BFS with visited tracking, O(n²):// Each node visited exactly once — O(n²)
std::unordered_set<NodeId> visited;
std::queue<NodeId> queue;
queue.push(rootNode);
visited.insert(rootNode);
for (NodeId current; !queue.empty(); ) {
current = queue.front();
queue.pop();
for (NodeId neighbor : adjacencyList[current]) {
if (!visited.count(neighbor)) {
visited.insert(neighbor);
resync(current, neighbor);
queue.push(neighbor);
}
}
}
The key insight: by tracking which nodes had already been resynced, each node is processed exactly once. No redundant re-checks, no wasted traversals across the full node matrix. A straightforward idea — but only reachable after a complete algorithmic redesign from scratch.// BOOKS.
I am an avid reader of anything that sparks my interest.
I usually read in the original language of the author, I believe that translation is a really hard job.
Nuances sometimes get unfortunately lost in the translation process, hence it is always a good idea to get the book in the original language.
I try to extend constantly my perspective and mindset reading about different topics and areas:
▪ Psychology: every book of Robert Greene is a masterpiece.
▪ Design (product design, typography, UI/UX) - Recommendation: all books of Edward Tufte.
▪ Computer science - well, the list here is too long, maybe I will create an extra section for it.
▪ Historical books - Ken Follett, how to teach history from middle age down to modern history.
▪ Trading and market analysis - Elliott Wave Principle (Frost, Prechter)
These are (at the moment) my favourite books:
1. 1984 - George Orwell
2. The Pillars of the Earth - Ken Follett
3. Gödel, Escher, Bach: an Eternal Golden Braid - Douglas Hofstadter
Computer Science books have their own home now. → Computer Science Books & Literature
// LANGUAGES.
Even if Italians are not well known for their fluency in foreign languages, I try to do my best to learn new languages.
Currently I can read, talk and write in the following languages:
Italian
German
English
Spanish
// HOBBIES.
Guitars and music of any form and type are following my life, starting back from the good 90s.
Music is not just music, it is art and therapy.
Electric Guitars
Ibanez RG 270 Black (sold)
Godin Freeway Classic (sold)
Ibanez MSM1
Ibanez UV70P
Fender Stratocaster JH
Covers — recorded 2020
Joe Satriani — Summer Song
Joe Satriani — The Extremist
// CREATIVE CORNER.
Whenever I have time and mood, I like to write down some thoughts or just create something for the sake of "creating", no matter what definition you can apply to it.
A crazy short story about a fictional king. Written in italian. >> Il Re Re
A poem is a rhythmical dance of images in words. >> Poetry
// COMPUTER SCIENCE.
HELO → MAIL FROM → RCPT TO → DATA → QUIT), RFC 5321 compliantpthread_mutex_t locking — two threads cannot touch the same mailbox simultaneously. No races. No corruption.// Books & Literature.
The C Programming Language — the real GOAT book for any serious software developer.
Algorithms — Dasgupta, Papadimitriou, V. Vazirani