About Nilo Rocha
I build software that has to hold up.
I'm a backend and full-stack engineer based in Rome, working where software quality, complex systems and practical AI meet.
What I bring
Engineering with context.
My strongest work sits at the boundary between architecture and delivery: shaping services, making trade-offs explicit, and leaving behind systems that teams can test, operate and evolve.
I work mostly with Java, Spring Boot, Node.js and TypeScript. I care about clean boundaries, TDD, automation and the unglamorous details that make software dependable in regulated environments.
More recently, I have been exploring AI as an engineering discipline: designing agents and workflows that improve development without lowering the bar for quality, security or maintainability.
Selected path
The work so far
A practical progression from full-stack delivery to systems design and AI-enabled engineering.
2026 — now
AI-assisted engineering in a regulated environment
Building Node.js and TypeScript services at Banca d'Italia, while designing AI agents, development harnesses and documentation workflows that support reliable engineering practice.
2024 — 2026
Modernising critical public systems
At INAIL, worked on Java and Spring Boot services, legacy modernisation, CI/CD and quality gates for software used in a highly regulated public-sector environment.
2023 — 2024
Distributed services for Rome
Built a Quarkus microservices stream for Comune di Roma, connecting asynchronous messaging, Kubernetes, object storage and PagoPA payment workflows.
2020 — 2023
From full-stack development to systems work
Started in Node.js, MongoDB and React, then expanded into SQL, system administration and automation across banking and public-sector projects.
Current direction
Still learning, deliberately.
Alongside my engineering work, I am pursuing an Executive Master in Data Science, deepening my understanding of machine learning, analytics and AI strategy.