Una professione ricercata, un ruolo delicato e di grande importanza: così si può tratteggiare l’architetto del software, un mestiere che richiede determinate competenze. Ecco quali


Quello del software architect è un mestiere ambito. Lo dimostra il fatto che è risultato il miglior lavoro del 2020, secondo un sondaggio del motore di ricerca del lavoro Indeed (che conta un database da 250 milioni di curricula): nella top 25 l’architetto del software era al vertice, considerando stipendio, potenziale di crescita e domanda dei datori di lavoro.

Tuttora è una professione molto richiesta, anche se è difficile da definire con precisione perché le sue mansioni considerano qualità come leadership esperta, competenze tecniche e conoscenze di alto livello (presupponendo un curriculum di alto profilo, come vedremo). A ciò si aggiunga che tale mansione richiede responsabilità e conoscenze tali da effettuare scelte progettuali di elevato livello e in grado di definire gli standard tecnici. Bill Gates è uno dei più famosi (chief) software architect: ha ricoperto, infatti, questa carica per alcuni anni prima di dimettersi da Microsoft.

Se proprio dovessimo restringere il numero definizioni di architetto del software, potremmo dire che tale posizione guida tutte le decisioni critiche sull’organizzazione del sistema software.

L’architettura relativa è l’organizzazione fondamentale di un sistema, rappresentata dai suoi componenti, dalle loro relazioni reciproche e con l’ambiente e dai principi che determinano la progettazione e l’evoluzione del sistema.

Chi è il software architect

Un architetto del software è uno sviluppatore esperto di software che comunica con aziende e clienti per progettare ed eseguire soluzioni con un team di ingegneri del software. Prende decisioni determinanti sulla “vita” del software. Spesso agisce anche come sviluppatore e comunicatore. Effettua scelte progettuali di alto livello e definisce gli standard tecnici, compresi strumenti, standard di codifica del software o piattaforme da utilizzare.

Se volessimo definirlo ancora più compiutamente, vale la pena proporre la qualifica impiegata dall’Atlante delle Professioni, curato dall’Università degli Studi di Torino:

“Il Software Architect è la figura professionale specializzata nella progettazione delle funzioni e delle specifiche di programmi e applicativi informatici. In base all’analisi dei bisogni del cliente, studia la soluzione più idonea, definisce le specifiche tecniche e realizza il disegno logico delle singole componenti e del complesso del software. Si occupa talvolta della fase di test per verificare il funzionamento e la rispondenza del software rispetto agli obiettivi iniziali.”

È una figura, come detto, in costante evoluzione, come i software di cui si occupano e la tecnologia collegata, ma è cruciale per la vita aziendale.

Cosa non è un architetto del software

Il software architect è un mestiere che tocca vari aspetti. Tuttavia in molti casi non deve essere confuso con altre professioni. Un esempio: spesso viene considerato uno sviluppatore senior, ma non è corretto, o almeno non del tutto. In realtà, l’architetto è una sorta di “visionario” che definisce un progetto di soluzione basato sui requisiti del cliente e sulle tecnologie disponibili. Il secondo lo mette in pratica, applicando le proprie conoscenze e competenze di programmazione.

Un architetto del software non è un product manager. Il primo decide come funziona la soluzione internamente, mentre il secondo studia i fattori esterni come le tendenze del mercato, la domanda di una particolare soluzione, la necessità di miglioramenti e le offerte della concorrenza. Un architetto ricerca le possibilità tecniche esistenti.

Allo stesso modo non è neppure un project manager. Sebbene entrambi condividanola responsabilità del successo di una soluzione, tuttavia, il primo è responsabile della qualità del codice e dei rischi tecnici, mentre il secondo si occupa di tutto il resto, ovvero dei compiti associati al budget, all’ambito e ai tempi.

Le competenze necessarie

Prima di illustrare le competenze necessarie, è bene annotare le attività più importanti di cui si deve occupare. Innanzitutto deve definire e decidere la tecnologia e la piattaforma di sviluppo più idonee, oltre che determinare gli standard di sviluppo, supportare l’identificazione e la comprensione dei requisiti di business, progettare sistemi e prendere decisioni in base ai requisiti. L’architetto del software deve anche documentare e comunicare le definizioni architettoniche, il design e le decisioni ai vertici aziendali, nonché controllare l’architettura e il codice, verificando – per esempio – che i modelli definiti e gli standard di codifica siano implementati in modo corretto. Un buon software architect deve saper collaborare con altri tecnici e professionisti collegati, oltre che consultare gli sviluppatori.

Detto questo, ne consegue che gli architetti del software devono avere una vasta conoscenza tecnica del software e del codice. Tuttavia, non basta conoscere una singola tecnologia o linguaggio. Essi devono essere in grado di utilizzare diversi linguaggi o tecnologie e, pertanto, devono possedere competenze trasversali.

Inoltre una professione di questo livello necessita di ulteriori competenze, al di fuori delle capacità tecniche. Poiché creano e assegnano i compiti, gli architetti del software devono avere buone capacità organizzative. Oltre a queste competenze tecniche, gli architetti del software usano le loro capacità organizzative per creare la roadmap del progetto.

Tra le skill necessarie la comunicazione è un ingrediente fondamentale: gli architetti software devono spiegare chiaramente la missione, le scadenze e le aspettative.

Come diventare un architetto del software

Il software architect è una professione che richiede determinare competenze e conoscenze. È una mansione che si raggiunge solo dopo anni di esperienza, responsabilità crescenti e spesso un’istruzione avanzata.

Si deve partire, preferibilmente da una laurea in ingegneria informatica, meglio ancora se integrata con un master su materie affini. Oltre alla laurea è necessario maturare un’esperienza pluriennale (almeno cinque) nello sviluppo di software in diversi linguaggi e sistemi operativi.

Quanto guadagna un software architect?

Stabilire lo stipendio di un software architect è complesso come la professione che ricopre. Secondo Glassdoor, per questa mansione si può stabilire un compenso annuo poco meno inferiore ai 45mila euro.

Nettamente superiore lo stipendio stimato negli Stati Uniti. Salary.com riporta come stipendio medio annuo di un architetto di software sfiora i 145mila euro, con un divario tra minimo e massimo tra 130mila e 160mila dollari.