Studio Autodidatta

Francesco Ciannavei

Studio Autodidatta

Set. 2019 - Oggi

La mia passione per l'informatica è nata durante gli anni del liceo, quando ho avuto il mio primo contatto con la programmazione attraverso lo studio di Java. Quello che inizialmente sembrava un semplice argomento scolastico si è rapidamente trasformato in una vera e propria vocazione. Non mi bastava seguire le lezioni: volevo capire come funzionavano le cose, volevo costruire qualcosa di mio.

I primi passi: Node.js e Discord

Parallelamente alle lezioni scolastiche, ho iniziato a esplorare il mondo della programmazione in autonomia. Ho scelto Node.js come primo ambiente di sperimentazione e ho iniziato a sviluppare bot per Discord. Questi progetti, apparentemente semplici, mi hanno insegnato concetti fondamentali: la gestione degli eventi asincroni, l'interazione con le API esterne, la persistenza dei dati e la gestione degli errori in produzione.

Creare qualcosa che altre persone utilizzavano realmente mi ha dato una motivazione incredibile. Vedere il mio codice funzionare in scenari reali, dover risolvere bug segnalati dagli utenti e aggiungere funzionalità richieste dalla community mi ha fatto capire che la programmazione non è solo scrivere codice: è risolvere problemi per le persone.

L'espansione delle competenze

Da quel momento non mi sono più fermato. Ho continuato ad approfondire JavaScript, esplorando sia il frontend che il backend. Ho studiato Python, apprezzandone la versatilità e la potenza per l'automazione e l'analisi dei dati. Mi sono avvicinato a Golang, attratto dalla sua efficienza e dalla semplicità del suo modello di concorrenza.

Ho dedicato tempo significativo ai sistemi di gestione dei database, in particolare PostgreSQL e MySQL. Capire come strutturare i dati in modo efficiente, ottimizzare le query e progettare schemi scalabili è diventata una delle mie competenze più solide.

Ogni nuova tecnologia che studio non resta teoria. La applico sempre in progetti concreti, anche piccoli, perché credo fermamente che il vero apprendimento avvenga quando metti le mani nel codice e affronti problemi reali.

La sala server domestica: il mio laboratorio personale

Uno degli aspetti che più mi caratterizza è la mia piccola sala server domestica. Non è solo un hobby: è il mio laboratorio di sperimentazione, il luogo dove applico in pratica tutto ciò che apprendo.

Gestisco un'infrastruttura Linux con Docker, sistemi di backup automatizzati e monitoring. Questo ambiente mi permette di testare configurazioni, ambienti e strumenti in contesti reali, senza le limitazioni di un semplice ambiente di sviluppo locale.

Attualmente sto lavorando alla costruzione di un'infrastruttura dedicata all'esecuzione e all'integrazione di modelli di intelligenza artificiale. Mi occupo dell'ottimizzazione hardware, della gestione autonoma dei carichi di lavoro e dell'integrazione di diversi servizi. È un progetto ambizioso che mi sta insegnando moltissimo su sistemi distribuiti, gestione delle risorse e architetture moderne.

La filosofia dell'apprendimento continuo

Ancora oggi dedico parte del mio tempo libero allo studio e alla sperimentazione. Non considero l'apprendimento come qualcosa di separato dal lavoro: è parte integrante di ciò che sono come sviluppatore.

Mi interesso particolarmente a Go per le sue performance e la sua semplicità, al machine learning per le sue potenzialità trasformative e ai Large Language Models per le loro applicazioni pratiche. Nel mio lavoro attuale ho già avuto modo di implementare un sistema di Retrieval Augmented Generation, dimostrando che lo studio autonomo può tradursi rapidamente in valore concreto per i progetti professionali.

Il mio approccio è pragmatico: non studio le tecnologie per il gusto di accumulare conoscenze, ma per portare valore, performance e manutenibilità nei progetti su cui lavoro. Ogni nuova competenza deve avere un'applicazione pratica, deve risolvere un problema reale.

Questo percorso autodidatta, iniziato quasi sei anni fa, mi ha formato come professionista. Mi ha insegnato a essere autonomo nella risoluzione dei problemi, a non arrendermi di fronte alle difficoltà e a mantenere sempre viva la curiosità che mi ha spinto a scrivere le prime righe di codice.

Tool e linguaggi usati:

Sviluppatore PHP

PHP

Sviluppatore Golang

Golang

Sviluppatore Python

Python

Sviluppatore Ollama Api

Ollama Api

Sviluppatore Git

Git

Sviluppatore Laravel

Laravel

Sviluppatore CodeIgniter

CodeIgniter

Sviluppatore jQuery

jQuery

Sviluppatore Astro.js

Astro.js

Sviluppatore Apache

Apache

Sviluppatore Docker

Docker

Sviluppatore Linux

Linux

Sviluppatore Bash

Bash

Sviluppatore CSS

CSS

Sviluppatore SQL

SQL

Sviluppatore JavaScript

JavaScript

Sviluppatore Node.js

Node.js

Sviluppatore Composer

Composer

Sviluppatore Cloudflare

Cloudflare

Sviluppatore CI/CD Pipelines

CI/CD Pipelines

Sviluppatore Debugger

Debugger