Home
Si fa presto a dire informatico

12 Settembre 2006

Si fa presto a dire informatico

di

Chi è il programmatore? Che lavoro fa? Quant'è cambiata la professione negli ultimi anni? Com'è inquadrata nei contratti di lavoro? Viaggio in un mestiere complesso, in continua evoluzione, spesso mal raccontato dai venditori di futuro e pieno di incognite. Ci accompagnano Fabio Santini (Microsoft) e Giovanni Capone (Rad Hat)

A leggere le guide ufficiali sui percorsi professionali sembra che la figura dell’informatico possa trovare impiego pressoché ovunque. Come per l’algebra dei polli inaugurata da Trilussa – che rende ragione delle disparità, ma non spiega alla fine chi è il ricco opulento che riporta in media i poveri affamati – non è del tutto chiaro però chi (o che cosa) mantenga in vita queste rosee prospettive di lavoro, se la visione ottimistica intrinseca nei processi di innovazione o il reale valore di figure professionali che soltanto quaranta anni fa non comparivano neppure nel vocabolario. Proviamo a fare un esercizio, sullo stile di quanto Pietro Izzo ha fatto quest’estate su questo sito con la Wayback Machine, ma parliamo di professioni, anzi di quella che per eccellenza mette a nudo l’informatica: l’attività del programmatore. È un mestiere per tutti? È cambiato negli ultimi anni e come?

Tre cose tre

A parte la dinamica di importazione ed esportazione da e verso mercati del lavoro meno maturi sotto il profilo delle tutele retributive di quello europeo, che riguarda più il costo del lavoro che le competenze vere e proprie, l’attività del programmatore sembra seguire un’evoluzione a geometria variabile. Mentre si consolida il cuore dell’attività, sono le aree di margine a mostrare significative variazioni. Da una parte la specializzazione verticale diventa una competenza aggiuntiva per i professional, dall’altra entra nella definizione di “programmatore” anche il cosiddetto power user, l’utente evoluto che magari si rapporta a determinati linguaggi per migliorare contenuti e servizi di cui è diretto responsabile.

Andiamo con ordine e accettiamo qualche spunto di riflessione. «Il mestiere del programmatore», sostiene Fabio Santini, di Microsoft Italia, per anni software evangelist del gruppo di Bill Gates in Italia «ha tre elementi tecnici imprescindibili: linguaggio, librerie e ambienti di sviluppo». Nel corso degli anni le cose sono notevolmente cambiate in materia di linguaggi e si è passati a una tipologia di semantica che include i cosiddetti oggetti di programmazione. L’uso della logica, ovviamente, non è venuto meno. In questo senso, come precisa Giovanni Capone, engagement manager di Rad Hat «pochissimi mettono mano ancora a Fortran o all’Assembler, ma nonostante questo un programmatore fa le stesse cose che faceva dieci anni fa. Si è alzato invece il livello d’ingresso, soprattutto rispetto a quanto è connesso a problematiche associate all’hardware».

Hello (new) world!

Il secondo e il terzo gradino della conoscenza, invece, legati a librerie e alla padronanza degli ambienti di sviluppo, hanno assunto una dinamica incrementale, che avvantaggia molto i professionisti. Grazie al lavoro delle società di sviluppo software da una parte e alla volontà delle community che contribuiscono all’evoluzione delle pratiche open source dall’altra, la disponibilità di framework e librerie è sempre più ampia. I tool di sviluppo sono giunti a una vera nuova generazione, consegnando questa volta sì alla storia strumenti al tempo rivoluzionari come il leggendario compilatore di linguaggio C creato da Richard Stallman. L’esplosione di Internet ha reso decisamente più efficace la “programmazione collaborativa” e la creazione di archivi di buone pratiche o soluzioni minori. «Lo sviluppatore oggi è di gran lunga facilitato nella sua attività», sostiene Capone. A lui fa eco Santini: «La possibilità di replicare automaticamente routine ripetitive, la presenza di componenti visuali che facilitano la definizione di aspetti di interfaccia, la colorazione automatica dello script e soprattutto le funzioni definite ‘intellisense’, che completano parti mancanti o suggeriscono metodi e sintassi durante la scrittura, presenti oramai in tutti gli editor, hanno cambiato la vita ai programmatori».

Programmare in Excel?

Visual Studio.NET, Eclipse per lo sviluppo in Java e i loro fratelli minori hanno una marcia in più rispetto al passato. Là dove si devono ottenere elementi visuali nessuno più scrive codice a mano. È una reale perdita di conoscenza? «No, in realtà oggi ci sono molte più cose da fare e si guarda soprattutto alla produttività del programmatore», sostiene Santini. Questa “semplificazione” ha poi una interessante deriva verso il basso, ovvero in direzione dell’utente stesso degli applicativi. Così la spiega Santini: «Se si pensa alla programmazione come all’insieme dei tre elementi, linguaggio, librerie e ambiente di sviluppo, anche un traduttore che conosce l’inglese, usa un vocabolario e sfrutta Word potrebbe, in senso logico, essere definito un “programmatore”. Se però limitiamo la qualifica soltanto a chi opera nel contesto della produzione di applicazioni software dove dobbiamo fermarci? Oggi chi definisce una macro in Excel è un programmatore? Io credo di sì, a livello semiprofessionale, certo, ma in senso allargato la programmazione oggi si è estesa alla definizione personalizzata di nuove routine applicative in ogni contesto». Una versione cibernetica della logica trilussiana, insomma.

È ovvio però che questa tipologia di programmatore non sarà mai definita tale secondo un contratto di lavoro. Potrà soltanto mettere questa capacità a servizio di altre mansioni, una cosa da non sottovalutare (in termini retributivi, per esempio) e che venti anni fa era del tutto impensabile nell’informatica o nelle altre professioni. Non si chiedeva cioè al giornalista di conoscere l’Html, al revisore contabile di saper creare una macro o al grafico pubblicitario di definire dei fogli di stile.

Lo sviluppo verticale

Rimanendo nel mondo dei professional è vero anche che negli anni è diventato più facile passare da un ambiente all’altro. «Il progresso della conoscenza ha aumentato anche la flessibilità del lavoro del programmatore che oggi ha modo di spostarsi con maggiore facilità», dichiara Capone. È invece sul fronte delle competenze di mercato che si gioca la sfida per gli esperti di informatica. «La vera creazione di conoscenza è nelle trame stesse del mercato in cui si applica la programmazione. Il vero tris di competenze, infatti, comprende certo un linguaggio e l’ambiente di sviluppo, ma come terzo polo il mercato di riferimento». La fortuna professionale e disponibilità di lavoro o, al contrario, la possibilità stessa di trovarsi su percorsi chiusi di carriera, dipendono proprio da quale settore si decide di servire.

Questo allargamento di orizzonti trova conferma, per esempio, nelle definizioni dei profili professionali avanzati da Aica, per il quale il software developer ricopre un «considerevole ruolo tecnico nel design dei sistemi informativi e nella creazione di servizi con precise specifiche funzionali». Il programmatore è informato cioè su metodi, strumenti e standard informatici e identifica in ognuno di essi vantaggi e svantaggi per la realizzazione di prodotti conformi alle necessità, che siano efficienti, sicuri, economici. Si confronta cioè con un ambiente in cui l’economia dello sviluppo ha un peso pari alle stesse specifiche funzionali da realizzare. Il programmatore cura cioè l’intero ciclo di vita del software nel contesto in cui trova forma. Dall’analisi al design, dalla costruzione al test, dall’implementazione alla migrazione e manutenzione nel tempo: ogni cosa avviene sempre in relazione al mondo produttivo in cui viene impiegato. Quando ha un buon livello di seniority il programmatore guida anche un team di sviluppo.

La terza generazione

La grande novità degli ultimi anni nello sviluppo del software, giunto oramai alla cosiddetta terza generazione (che dalla modellazione “strutturata” è passato alla programmazione “a oggetti”, fino alla recentissima evoluzione verso la programmazione orientata ai servizi per il business), è l’immersione quasi totale nel settore di riferimento. La finanza non è l’automotive, le telecomunicazioni non sono la grande distribuzione. Questa connotazione della programmazione anni fa non esisteva. Oggi un programmatore non solo crea applicazioni, ma compone vere e proprie soluzioni di business, mettendo insieme i pezzi di questi processi. La tecnologia ha innalzato cioè il suo livello di intervento, non più legato al puro sviluppo di codice, ma finalizzato a creare servizi, composti da blocchi di software già programmati e spesso ahimè concordati in un sistema molto stretto di lobbing tra poteri forti di settori diversi.

Organizzare, pianificare, personalizzare e avere le giuste intuizioni legate al risultato in termini di servizio erogato sono le nuove competenze richieste da questo tipo di approccio informatico. Così come la conoscenza di processi di business specifici. Sono indispensabili quanto la conoscenza di un sistema operativo, delle regole di sviluppo, dei singoli linguaggi o dei principi di software engineering. Queste capacità sono richieste per lavorare. Soprattutto dalle grandi imprese o dalle aziende partner di multinazionali che distribuiscono le loro soluzioni sul territorio. In futuro, saranno sempre più il lasciapassare per una professione che inventa sempre meno (affidandosi alle intuizioni e agli sviluppi dei grandi centri di ricerca delle multinazionali del software) e che spesso si deve accontentare di qualche mezzo pollo, in salsa Visual Basic, Java o Php.

L'autore

  • Dario Banfi
    Dario Banfi è giornalista professionista freelance. Appassionato di tecnologia e Web, è specializzato sul mondo ICT business e consumer, Pubblica Amministrazione, Economia e Mercato del Lavoro. Collabora in maniera stabile con testate giornalistiche nazionali (Il Sole 24 Ore, Avvenire), periodici e pubblicazioni di editoria specializzata. Laureato in filosofia, è stato content writer e project manager per new media agency italiane.

Iscriviti alla newsletter

Novità, promozioni e approfondimenti per imparare sempre qualcosa di nuovo

Gli argomenti che mi interessano:
Iscrivendomi dichiaro di aver preso visione dell’Informativa fornita ai sensi dell'art. 13 e 14 del Regolamento Europeo EU 679/2016.