Roman Gromov C++ web systems architect & software engineer
L’autore

Roman Gromov — ingegnere del software e architetto di sistemi web in C++

L’ingegneria come scelta di vita

Sono un ingegnere del software e architetto di applicazioni web scritte in C++. Lavoro professionalmente con il linguaggio dal 2008, anche se l’interesse è nato già a scuola. C++ era lo strumento che meglio corrispondeva al mio modo di pensare: complesso, rigoroso, esigente e allo stesso tempo capace di costruire architetture polimorfiche flessibili. Non mi è mai interessato soltanto far funzionare il codice, ma creare sistemi in cui ogni componente abbia una responsabilità chiara, i contratti siano espliciti e il comportamento rimanga prevedibile durante l’evoluzione del prodotto.

Da ElDorado IIMS a Sapphire I.C.D.S.

Nel 2008 ho creato il mio primo grande sviluppo in C++, ElDorado IIMS, un sistema di gestione di siti e contenuti con un nucleo server nativo. È diventato una lunga scuola di ingegneria. Nel corso degli anni ho provato molti approcci, commesso errori, trovato concetti efficaci e imparato quali decisioni architetturali resistono davvero allo sviluppo a lungo termine.

La compatibilità tra server ha avuto un ruolo centrale. Volevo evitare che il sistema dipendesse da un solo fornitore di infrastruttura o da un ambiente di esecuzione ristretto. Già nella generazione ElDorado furono create soluzioni capaci di mantenere un comportamento coerente su diverse configurazioni e di separare la logica aziendale dai dettagli di distribuzione.

All’inizio del 2025, l’esperienza accumulata dal 2008 ha portato a una conclusione chiara: il vecchio sistema non doveva essere riparato all’infinito, ma ripensato completamente. Così è nato Sapphire I.C.D.S. Il ciclo principale di sviluppo è terminato e oggi mi concentro sulla sua evoluzione, sul miglioramento e sull’espansione. Sapphire raccoglie tutta la scuola ingegneristica e architetturale maturata negli anni, con un livello di modularità e coerenza impensabile ai tempi iniziali di ElDorado.

Paternità e ruolo di Sapphire Project

Sono il fondatore e amministratore delegato di Sapphire Project Sp. z o.o. In seguito a decisioni strategiche, tecniche e giuridiche, il nucleo di Sapphire I.C.D.S. e i moduli del produttore restano sotto la mia esclusiva paternità e il mio controllo. La società agisce come distributore ufficiale, gestisce vendite, contratti e assistenza ai clienti, mentre la responsabilità intellettuale e architetturale rimane all’autore.

Non si tratta di una formalità. Questo modello conserva una direzione tecnica unitaria, mantiene chiare le responsabilità e protegge l’architettura da compromessi aziendali di breve periodo.

Tecnologia esclusivamente per scopi civili

In base ai miei principi e alle mie convinzioni personali, né io né Sapphire Project collaboriamo o collaboreremo con strutture legate a finalità militari o di difesa, né con istituzioni governative. Sapphire I.C.D.S. è progettato esclusivamente per usi civili.

Credo che i migliori risultati dell’ingegneria debbano aiutare le persone: creare, organizzare, imparare, lavorare e sviluppare progetti indipendenti. La tecnologia non deve diventare un’arma, uno strumento di pressione o un mezzo di abuso del potere.

Nucleo chiuso e libertà di estensione

Rifiuto la cultura dell’analisi totale, della sorveglianza nascosta e del trattamento delle persone come patrimoni di dati. Non accetto nemmeno un modello in cui il cliente affitta soltanto l’accesso ai propri processi, dipende da una connessione SaaS permanente, paga per ogni dipendente e allo stesso tempo fornisce telemetria al fornitore.

Allo stesso tempo, non ritengo ragionevole regalare come open source il risultato di molti anni di lavoro ingegneristico. Il nucleo di Sapphire I.C.D.S. è stato, è e rimarrà chiuso. Utenti, aziende e sviluppatori indipendenti riceveranno comunque un SDK completo e interfacce stabili per creare moduli, integrazioni ed estensioni proprie.

Credo in un equilibrio sano: i dati del cliente appartengono al cliente e la proprietà intellettuale dell’autore appartiene all’autore. Non ho bisogno di raccogliere telemetria, controllare l’uso del sistema o trasformare l’infrastruttura del cliente in una fonte aggiuntiva di profitto. Il software ha un prezzo perché contiene conoscenza, tempo e responsabilità. Ma ciò che viene venduto deve restare il software stesso — non i dati del cliente, il numero dei suoi dipendenti o il diritto di possedere la propria infrastruttura.

Perché continuo

Lavoro in questo campo perché amo sinceramente l’ingegneria. Lo sviluppo non è per me una professione temporanea né una corsa alle mode, ma un modo di pensare e una forma di creazione. Non credo nelle utopie e non sostengo che un solo sistema possa cambiare il mondo intero. Ma credo che una buona tecnologia, un’architettura onesta e un rapporto sensato tra autore, cliente e dati possano renderlo almeno un po’ migliore.