Programmatore Mainframe: cosa fa e competenze
Contesto tecnologico
Il Programmatore Mainframe è un professionista dell’information technology che si occupa della progettazione, implementazione e manutenzione di procedure e componenti software per mainframe, elaboratori di grandi dimensioni progettati per processare enormi quantità di dati, grandi volumi di transazioni ed applicazioni critiche.
I Mainframe furono introdotti per la prima volta negli anni ’50 e ’60, ma sono ancora utilizzati oggi in molte grandi aziende, come banche, assicurazioni ed organizzazioni governative. Essi sono caratterizzati da una notevole capacità di elaborazione, memoria e connettività, e sono in grado di supportare molti utenti e applicazioni. Sono anche in grado di gestire carichi di lavoro intensivi come l’elaborazione transazionale, l’elaborazione batch, l’elaborazione dei dati, l’elaborazione in tempo reale e altre operazioni aziendali critiche.
Sebbene potrebbe sembrare un tecnologia obsoleta, tuttora i mainframe sono largamente utilizzati.
Cosa fa un Programmatore Mainframe
Il Programmatore Mainframe svolge una serie di compiti specifici, utilizzando le tecnologie proprie del mondo mainframe:
- Sviluppo di applicazioni. I programmatori mainframe creano e implementano software per soddisfare le esigenze specifiche dell’azienda. Possono sviluppare applicazioni da zero o modificare e aggiornare quelle esistenti.
- Codifica e programmazione. Utilizzando linguaggi di programmazione mainframe come COBOL, PL/I, Assembler o Java, i programmatori mainframe scrivono codice per implementare le funzionalità richieste dalle applicazioni. Devono avere una buona conoscenza dei linguaggi di programmazione specifici per i mainframe e delle librerie di supporto associate.
- Testing e debugging. I programmatori mainframe testano attentamente ed eseguono il debugging del software che hanno sviluppato per individuare eventuali errori o bug. Utilizzano strumenti specifici per assicurarsi che le applicazioni funzionino correttamente e siano stabili e prive di errori.
- Miglioramento delle prestazioni. I mainframe gestiscono carichi di lavoro critici e complessi. Pertanto i programmatori mainframe devono ottimizzare le prestazioni delle applicazioni per garantire che funzionino in modo efficiente e scalabile. Ad esempio attraverso l’identificazione e la risoluzione di problemi di prestazioni, la sistemazione del codice e la realizzazione di miglioramenti.
- Manutenzione e supporto. I programmatori mainframe sono responsabili della manutenzione continua delle applicazioni. Si occupano ad esempio dell’applicazione di patch di sicurezza, dell’aggiornamento del software esistente e della gestione delle richieste di supporto degli utenti.
Competenze tecniche
Le competenze tecniche di un programmatore mainframe sono peculiari e spesso legate a tecnologie che hanno radici storiche, ma che sono state continuamente aggiornate per rimanere rilevanti nell’attuale panorama IT. Ecco alcune delle competenze chiave:
- COBOL. Conosciuto come uno dei principali linguaggi di programmazione più utilizzati nei sistemi mainframe, la competenza in COBOL è fondamentale per la maggior parte dei programmatori mainframe.
- JCL (Job Control Language). Usato per avviare jobs sui sistemi mainframe IBM.
- DB2. Un sistema di gestione di database relazionali per mainframe che richiede competenze specifiche per la definizione, gestione e ottimizzazione delle query.
- CICS (Customer Information Control System). Un sistema transazionale per la gestione di transazioni online su mainframe.
- Assembler. Anche se non è comune come COBOL, la conoscenza dell’Assembler può essere utile, specialmente quando si tratta di compiti di ottimizzazione o di manipolazione a basso livello.
- IMS (Information Management System). Un altro sistema di gestione di database per mainframe.
- z/OS. Il sistema operativo mainframe di IBM.
- RACF (Resource Access Control Facility). Uno strumento di sicurezza per z/OS per la gestione di permessi e dell’autenticazione.
- VSAM (Virtual Storage Access Method). Un sistema per l’organizzazione e l’accesso ai dati su dischi.
- TCP/IP e SNA. Protocolli di rete per la comunicazione mainframe.
- Rexx. Un linguaggio di scripting spesso utilizzato per l’automazione su mainframe.
Competenze trasversali
Un Programmatore Mainframe di solito possiede le seguenti competenze trasversali:
- Problem solving. E’ uno skill importante per chi si occupa di programmazione, bisogna risolvere efficacemente i problemi che si presentano.
- Organizzazione e pianificazione del tempo. In ambito Mainframe, dove la gestione dei rilasci in produzione è talvolta complessa e costosa in termini di ore uomo, è importante che lo sviluppo sia approcciato con una programmazione adeguata.
- Capacità comunicative e Teamworking. Il Programmatore Mainframe collabora con altre risorse, quali i referenti di business, gli operatori mainframe o altri programmatori.
Principali tipi di mainframe
Ci sono diversi tipi di mainframe, ognuno dei quali ha caratteristiche specifiche e si adatta a diversi casi d’uso.
- IBM zSeries. Questa è una delle linee di mainframe più famose ed è prodotta da IBM. I mainframe zSeries, con il loro sistema operativo, sono noti per la loro affidabilità, scalabilità e sicurezza. Sono ampiamente utilizzati nelle società finanziarie per gestire carichi di lavoro critici.
- Unisys ClearPath. I mainframe ClearPath di Unisys sono noti per la loro affidabilità, disponibilità e scalabilità. Sono spesso utilizzati in settori come le assicurazioni, le telecomunicazioni e la Pubblica Amministrazione.
- Bull Sequoia. Prodotti da Bull (ora Atos), i mainframe Bull Sequoia sono noti per la loro potenza di calcolo e scalabilità. Sono spesso utilizzati in settori come l’energia, la difesa e la ricerca scientifica.
- Hitachi AP. I mainframe AP di Hitachi sono noti per la loro affidabilità, prestazioni elevate e scalabilità. Vengono utilizzati in una vasta gamma di settori, tra cui finanza, sanità e Pubblica Amministrazione.
- Fujitsu GS21. I mainframe GS21 di Fujitsu sono progettati per offrire elaborazioni ad alta velocità e affidabilità. Sono spesso utilizzati in settori come la finanza, le telecomunicazioni e il settore manifatturiero.
Console del sistema IBM-7094 ed unità nastro, installato nel 1961 presso l’ENEA
Retribuzione programmatore Mainframe
Definire una retribuzione di riferimento per un programmatore mainframe non è possibile. Essapuò variare a seconda delle tecnologie e della seniority e risente della scarsità di questi profili sul mercato.
Tuttavia, se volessimo prendere come riferimento un programmatore COBOL, potremmo dire che la retribuzione può oscillare dai 25k ai 50k euro.
FAQ sul profilo del Programmatore Mainframe
Un Mainframe è, in ambito IT, un super calcolatore dedicato ad operazioni critiche ed analisi di grandi quantità di dati. Le tipologie di Mainframe più diffuse sono:
– IBM zSeries
– Unisys ClearPath
– Bull Sequoia
– Hitachi AP
– Fujitsu GS21
Il Programmatore Mainframe è un professionista dell’information technology che si occupa della progettazione, implementazione e manutenzione di procedure e componenti software per mainframe, elaboratori di grandi dimensioni progettati per processare enormi quantità di dati, grandi volumi di transazioni ed applicazioni critiche.
Roberto Di Bartolomeo ha maturato una lunga esperienza professionale in ambito IT ed Organizzazione, rivestendo ruoli dirigenziali di CIO in grandi aziende nelle industries servizi HR, banking e pubblica amministrazione. Ingegnere elettronico, ha speso i primi anni della sua carriera in una società di consulenza internazionale ed ha conseguito un master alla Bocconi di Milano. E’ partner di EgoValeo e consulente per la Digital Transformation.