About me

Francesco Ciannavei full stack developer

How It All Started

My story with programming began in high school, when I first encountered Java. It wasn't love at first sight with the classroom lessons, but something clicked: I wanted to understand how things really worked. I started studying on my own, experimenting, breaking things and rebuilding them.

My first serious projects came with Node.js and the Discord API. Building bots that did something tangible, that other people could actually use, made me realize this was the right path. From there, I never stopped: JavaScript, Python, Golang, relational databases like PostgreSQL and MySQL. Every new technology was a problem to solve, and solving problems is what I enjoy most.

The Boolean Bootcamp

In 2022, I decided to attend the Boolean Careers full-stack bootcamp: six intensive months, over 700 hours of full-time training. I didn't arrive as a complete beginner — I already had years of self-study behind me — but I wanted to solidify my foundations, fill any gaps, and challenge myself in a structured environment.

I deepened my knowledge of HTML, CSS, JavaScript, PHP, Laravel, Vue.js, and SQL, working on complete projects both individually and in teams. I learned to use Git and GitHub professionally, following workflows similar to those used in real companies. The course gave me a more solid structure to my approach and prepared me for the professional world.

Professional Experience

Right after the bootcamp, I joined TUN2U, a Rome-based digital agency specializing in ecommerce. It was a foundational experience: I worked on projects for clients of all sizes, from small businesses to major companies like Ayvens, Buffetti, Safilo, and Fastweb. I got hands-on experience with PHP, JavaScript, jQuery, Magento 2, WordPress, PrestaShop, and Shopify.

At TUN2U, I learned what it means to write clean, maintainable code in a professional context. I participated in teams of over 10 developers, managing the entire project lifecycle from development to post-launch maintenance. That's where I understood how much collaboration and communication matter in a technical team.

After two years, I moved to Servizi Tecnologici Carlo Colombo, where I contributed to developing the software used by the Italian Chamber of Deputies and Senate for managing legislative texts. I updated the technical infrastructure by migrating from CodeIgniter 3 to 4 and from PHP 5 to 8, and I built a Retrieval Augmented Generation system integrating Large Language Models through Python APIs.

Today, I work at HSPI as a backend developer on the PMMS project for Poste Italiane, an enterprise platform for project management and monitoring. I collaborate with multidisciplinary teams on complex systems, contributing to the digitalization of business processes.

My Approach

I'm a pragmatic developer. I don't fall in love with technologies: I choose them based on the problem to solve. PHP 8 with CodeIgniter or Laravel for the backend, React when a modern interface is needed, relational databases for structured data. The goal is always the same: deliver value, performance, and maintainability.

I enjoy complex problems, the kind that require reasoning and analysis before writing a single line of code. I believe the best solution is often the simplest one, and that code should be readable before it's clever.

Beyond Code

When I'm not working, I keep experimenting. I manage a small home server infrastructure with Linux and Docker, where I test configurations, run AI models, and put into practice what I learn. It's my personal lab, where I can fail without consequences and learn from my mistakes.

I'm also passionate about 3D printing, especially the design phase. I'm an advocate for open source software and share the models I create online.

Currently, I'm diving deeper into Go, machine learning, and LLMs. The curiosity has never faded — if anything, it's grown with experience.