Come affrontare l’età nel mondo IT

In questo capitolo esploreremo la questione dell’età nel contesto dell’ambito IT. Spesso trascurato, questo aspetto riveste notevole rilevanza per coloro che operano in questo settore da qualche anno. Molte persone si trovano a confrontarsi con l’interrogativo sulla propria competitività nel mercato del lavoro in relazione all’età, chiedendosi se sono ancora in grado di mantenere un livello di competenza adeguato alle nuove tecnologie o se, viceversa, sono destinati a navigare tra mansioni manageriali, abbandonando il ruolo tecnico.

È opportuno precisare che l’obiettivo di questo capitolo non è di certo dare delle certezze assolute o definire percorsi di carriera uguali per tutti, poiché ogni persona è unica e diversa in termini di passioni, ambizioni e attitudini. Quelle che seguono sono quindi delle considerazioni personali che potrebbero aiutarti a comprendere come vuoi vivere la tua carriera dopo molti anni di esperienza e riflettere sulle implicazioni che potrebbero comportare alcune scelte.

Continuare ad essere dev, oppure diventare manager?

Molto probabilmente questa è una domanda che hai già posto qualche volta, oppure ti sarà capitato di fare considerazioni simili con i tuoi colleghi durante la pause pranzo, o, addirittura anche con il/la tuo/a referente nei momenti dedicati alle valutazioni delle tue performance. Possiamo affermare che la maggior parte di chi sviluppa, con già qualche anno di esperienza alle spalle, risponderebbe che è possibile continuare a fare il dev anche dopo decine di anni di esperienza senza dover necessariamente abbandonare il codice. D’altronde se si è diventati developer per pura passione dello sviluppo, perché smettere?

Forse, tu che leggi, penserai che con l’età che inizia ad avanzare possa risultare più arduo rimanere al passo con le tecnologie e che di conseguenza possa essere difficile rimanere competitivi rispetto ad una persona più giovane, spesso più aggiornata e stimolata. Pensiero assolutamente corretto e condivisibile, considerando che ragionamenti analoghi possono essere fatti anche su discipline diverse dal mondo IT. Ci sono decine di articoli che è possibile trovare in rete nei quali si evidenzia come sia più complicato trovare lavoro in età adulta, con consigli su come reinventarsi o su come rimanere competitivi in un mondo del lavoro che continua ad evolversi di anno in anno.

Ma torniamo al pianeta IT: se hai già letto il capitolo Cosa significa “essere dev”? avrai già realizzato che fare questo mestiere significa affrontare molte cose, non solo avere a che fare con linguaggi, librerie e frameworks. Chi si occupa di sviluppo deve realizzare che questi strumenti servono per uno scopo: risolvere problemi. Conoscere la nuova tecnologia non aiuta molto il core business di cui sei parte se non si applica bene al tuo dominio o alla necessità del momento. Molto spesso un/a dev giovane con tanta voglia di fare e sperimentare, cade in questo errore. Una persona che sviluppa da tanti anni potrà dare un contributo di valore nell’ambiente in cui si trova e aiutare anche dev più giovani a fare scelte più ponderate e corrette. Se tu che leggi, magari ancora non hai deciso come vuoi impostare la tua carriera, al di là della tua età e degli anni di esperienza, per lavorare al massimo in questo settore, poniti come obiettivo di non scrivere solo “bel codice”, ma di portare valore in ciò che fai per la tua azienda.

Pensare al “vero” obiettivo

Ripetiamo: il lavoro del/la developer è (anche) risolvere problemi. Il nostro scopo non è, e non sarà sempre, trovare soluzioni accattivanti, magari con le tecnologie del momento, ed è questa la maturità che deve acquisire un/a developer negli anni e con l’esperienza.

Vogliamo evidenziare questo aspetto con un aneddoto riportato nel libro Clean Architecure di Robert C. Martin. Senza entrare troppo nei dettagli, che puoi trovare nel libro, durante una sua esperienza lavorativa alla fine degli anni Ottanta ha dovuto, per pura esigenza di marketing, impiegare un database relazionale in un sistema di cui si occupava. Ma per motivi ingegneristici lui affermava che non era assolutamente necessario avere un database in quel sistema, che raggiungeva appieno il suo scopo così com’era, ma il mercato di quel periodo voleva i database nei sistemi, e l’azienda accontentò il mercato. Dal canto suo, Martin era focalizzato sull’obiettivo ingegneristico reale, e crediamo che debba essere questa la competenza che chi fa questo lavoro dovrebbe sviluppare col tempo.

Facciamo un esempio più recente: i microservizi. Chissà in quanti annunci di lavoro li avrai visti in questi ultimi anni. Oltre a valutare i vantaggi (e gli svantaggi) di questa architettura, sembra che non se ne possa più fare a meno. Peccato che nel marzo 2023 il team di Prime Video ha pubblicato un post sul proprio blog, indicando che con il passaggio da un’architettura distribuita a microservizi a un’architettura monolitica ha ridotto i costi infrastrutturali di oltre il 90%. Il team di Prime Video si è focalizzato su un obiettivo preciso: ottimizzare i costi, e ci sono riusciti con una soluzione tanto semplice quanto classica, il monolite.

I due esempi sono diversi in termini di situazione e tempi, ma ci fanno comprendere una cosa: il nostro lavoro è cercare il modo migliore di raggiungere l’obiettivo ingegneristico che aiuti il business, a prescindere dalle mode del momento.

Se sei un/a developer che riconosce del valore nelle scelte che compie, perché preoccuparsi dell’età che avanza?

Diventare manager

Facciamo una breve considerazione sul diventare manager in modo da giungere alle dovute riflessioni che potrebbero esserti utili semmai un giorno dovessi fare questa scelta. Per manager intendiamo, per semplicità e senza andare troppo nel dettaglio, quei ruoli che non sono coinvolti nelle decisioni, e operativi per quanto concerne l’aspetto tecnico ma sostanzialmente incentrati nella gestione di alto livello dei progetti e dei team. Abbiamo constatato che è possibile rimanere dev anche con l’avanzare dell’età, ma molto spesso diventare manager sembra quasi l’unico modo per fare carriera. Ci sono realtà aziendali con una gerarchia tale per cui chi fa sviluppo è giunto solo ad un primo step della propria carriera, una base dalla quale poter avanzare, prima o poi, abbandonando la via del codice a favore di quella manageriale. Noi ci auguriamo che questo non sia il tuo caso, ma può capitare che il contesto lavorativo in cui ci si trova influenzi il modo di percepire la carriera e di conseguenza le nostre scelte, perché vediamo un’unica strada davanti a noi. Questo potrebbe indurci a pensare che non raggiungere un ruolo manageriale dopo molti anni di esperienza equivalga a un fallimento di carriera, portando noi stessi a sentirci in quel momento inadeguati rispetto alle richieste del mercato. Per evitare ciò, si sceglie di diventare manager per raggiungere una sorta di traguardo professionale e, perchè no, anche economico e di benefit che spesso sono legati a questo tipo di ruolo.

A te che leggi, vogliamo dire che non è così: se in te c’è passione per lo sviluppo, non hai l’obbligo di intraprendere percorsi manageriali. La programmazione offre molte sfide e soddisfazioni che puoi trovare in contesti diversi da quello nel quale probabilmente ti trovi attualmente. Continua a studiare, ad approfondire e a confrontarti con altre persone con la tua stessa passione. E se dovessi realizzare di non trovarti bene nel contesto attuale, cerca realtà aziendali dove ci sono percorsi alternativi, che ti permetteranno di crescere tecnicamente e di continuare a perseguire i tuoi obiettivi.

Concludiamo questa sezione dicendoti che non vogliamo convincerti a non diventare manager. Ci sono tante sfide in questo ruolo che sicuramente ti potrebbero dare molte soddisfazioni. Diventa manager, abbandonando pure la parte tecnica e il codice se ti rivedi in questa figura, se questo ruolo ti appassiona e sei convinto di questa decisione. Siamo certi che se intraprenderai questo percorso con decisione e passione potrai diventare un manager con il quale tutti avranno piacere di collaborare.

Non solo developer

Fermiamoci a riflettere brevemente su questa domanda apparentemente innocua ma allo stesso tempo interessante: se desideriamo continuare a scrivere codice, è necessario rimanere developer per sempre?

Probabilmente nella tua mente starai già pensando al tuo contesto aziendale o alle tue precedenti esperienze, ricostruendo mentalmente le responsabilità di figure ibride tra ruoli tecnici e manageriali, per citarne alcune: Team Leader, Tech Lead e Solution Architect a cui i/le developer fanno riferimento per ciò che riguarda decisioni più o meno delicate su aspetti tecnici. Come forse saprai, non è detto che queste figure, prese da altre responsabilità o coinvolte in altri processi più organizzativi, riescano ancora effettivamente a scrivere codice. Ogni realtà solitamente ridefinisce questi ruoli, proiettandoli nei propri contesti. Per esempio, un/a team leader in una startup che è poco strutturata è probabile che continui a sviluppare, rispetto a realtà più grandi e oliate dove il team leader è più simile a una figura manageriale. Ci sono, invece, realtà molto flessibili che danno la libertà ai propri team leader di gestirsi e decidere quanto addentrarsi negli aspetti tecnici.

Questi ruoli sono molto interessanti e sfidanti qualora fare solo coding iniziasse a non bastarti. Se vuoi gestire un team e avere responsabilità differenti, sicuramente prima o poi potrai intraprendere uno di questi percorsi senza rinunciare del tutto all’aspetto tecnico.

Quale sia la tua scelta, ricorda che se vuoi essere un/a developer che aggiunga valore nonostante l’età, non è sufficiente che ti limiti alla programmazione, ma è necessario contribuire a ogni aspetto del progetto: sia che tu rivesta il ruolo di developer o di team leader, impegnati costantemente nel risolvere problemi e suggerire soluzioni, senza farti distrarre dai limiti imposti dai ruoli. Se sei ancora junior, proponi soluzioni anche se non hai la certezza in merito alla loro correttezza. Non solo l’impegno nello studio e nell’approfondimento, ma anche e soprattutto trarre insegnamento dai propri errori è un ottimo modo per crescere. Così, dopo anni di esperienza, potrai mettere in campo molte conoscenze che figure più giovani del team probabilmente non avranno.

Un/a developer che sa comunicare e sa trasmettere le proprie conoscenze ad altri, sarà sempre di grande valore per un team e avrà un’autorevolezza al suo interno a prescindere dal ruolo e soprattutto dall’età.

Il bias del fare codice a vita

La carriera di chi sviluppa è complessa sotto molti punti di vista e non priva di incognite: al primo posto possiamo assolutamente prendere coscienza del fatto che sia una categoria nuova e in continua evoluzione. Guardando alcuni schemi che illustrano l’evoluzione e le competenze necessarie per una particolare mansione, diventa evidente di fronte a noi un albero di opzioni impressionante. Da un punto di vista più generale non possiamo ignorare la crescita verso determinate mansioni più gestionali e meno operative, è un pensiero che prima o poi si tende a fare. Questo è legato non solo all’ambizione ma anche ad una considerazione sul proprio futuro, in generale sull’invecchiamento intellettuale e sulle conseguenze che inevitabilmente può avere sul nostro rendimento, sulla nostra freschezza e sulla capacità di stare dietro ad un mondo, quello informatico, in perenne vorticoso movimento; questo rendimento è legato a doppio filo con il nostro intelletto.

Dal punto di vista della catalogazione, l’intelligenza, come capacità di risolvere un problema, viene descritta come Fluida o Cristallizzata (teorizzata dallo psicologo Cattell). La prima, quella fluida, è il pensiero logico, la nostra capacità di risolvere problemi nuovi. Quella cristallizzata, invece, è la nostra capacità di utilizzare le conoscenze pregresse; questa è quella che di solito cade sotto il nome di “seniority”. Nel lavoro di chi sviluppa sono importanti entrambe probabilmente in egual misura.

Il passare del tempo va intuitivamente a beneficio dell’intelligenza cristallizzata perché ci dà un bacino più ampio da cui attingere. In passato questa catalogazione veniva legata al Q.I. da cui prende anche il nome, rappresentato dal rapporto tra età psicologica e anagrafica (da cui quoziente). L’intelligenza fluida, invece, ha una caratteristica inversa, segue un andamento decrescente con l’avanzare dell’età, facendoci perdere freschezza. Le nostre performance come velocità, capacità di visualizzazione ed elaborazione sono legate a questi due elementi che sommati formano il nostro intelletto.

Gli studi più recenti (A Novembre 2023) a riguardo sono stati svolti dall’Università di Monaco, racchiusi in un articolo dal titolo “Life cycle patterns of cognitive performance over the long run” di Anthony Strittmatter che ha studiato e cercato di dare una risposta quantitativa e non solo qualitativa alla domanda: quanto è differente un cervello giovane da uno vecchio e quale è il periodo in cui rende di più?.

Il punto di partenza è stato quello di capire quale sia il metodo migliore per misurare questa performance senza farsi influenzare. Il campione in questo caso è fondamentale: cultura, classe sociale e posizione geografica possono influenzare il risultato ed è semplicemente intuibile; l’allenamento delle proprie capacità e la possibilità di stare vicino a chi detiene conoscenze avanzate danno sempre strumenti migliori per affrontare i problemi. Da questo lato la sfida è molto interessante perché sappiamo bene quanto un bias cognitivo possa influenzare non solo i risultati ma anche la loro interpretazione.

Per questa analisi si è quindi deciso di usare gli scacchi come metro; le partite, infatti, sono catalogate dal 1890 e la vittoria è legata a processi cognitivi prettamente meritocratici dove tutti quei parametri in cui il dato può essere influenzato hanno meno peso. Il bacino si è presentato piuttosto ampio, sono a disposizione tutte le mosse in un arco di 125 anni, circa 24.000 partite. A questo punto sono stati elaborati collegando età e qualità delle mosse e la velocità con cui venivano eseguite, una ad una; per analizzare la validità delle mosse è stato usato un famoso motore di scacchi open source Stockfish.

Il risultato è piuttosto disarmante, è stato notato innanzitutto che il picco di performance è tra i 35 e i 45 anni. Questo va un poco a sfatare il fatto che la giovane età sia legata a performance migliori in assoluto. Da questo punto di vista si nota come l’avanzare dell’età non faccia che migliorare la qualità delle nostre capacità per molti anni; questo chiaramente da un punto di vista prettamente statistico, picchi in tutte le direzioni sono possibili e sono quelli che spesso danno forza ai nostri bias. I dati hanno anche mostrato una cosa altrettanto interessante sugli estremi di questa curva: la quantità di performance guadagnata e poi persa con l’età. Ci troviamo di fronte ad una campana schiacciata, prima sale (dai 20) e poi scende (verso i 55). L’escursione in ambo i lati, ovvero nei 20 e poi nei 55, è solamente intorno al 10%.

In buona sostanza, ciò che è evidente è che la nostra volontà di fare carriera non deve essere influenzata dalla preoccupazione di non farcela al sopravanzare di una certa età; per lo meno non deve esserlo dal punto di vista delle capacità intellettive. Statisticamente non c’è un vero e proprio declino cognitivo, ma ci si trova più che altro di fronte alla stanchezza o alla propria ambizione di cambiamento. Molti informatici famosi hanno sostenuto questa affermazione: la carriera non deve essere intesa nella sola direzione manageriale; se chi si trova a dover prendere questa scelta ha la voglia e la passione, può continuare a fare questo lavoro a vita, non c’è qualcosa che veramente ce lo neghi dal punto di vista fisiologico. Che carriera intraprenderemo quindi deve essere frutto di un desiderio, di una necessità che non sia legata alla paura di invecchiare; anche questo tema sarà sicuramente rivisto negli anni a venire anche dal punto di vista del mercato del lavoro.

Se vi piace programmare e avere le mani in pasta ed essere operativi, non fatevi spaventare dell’avanzare dell’età: è più un bias che un ostacolo tangibile!

Conclusioni

In questo capitolo abbiamo parlato di come affrontare l’età nel mondo IT. Questo è sempre un tema delicato, e non riguarda solo il mondo IT, senza considerare che ci sono tanti fattori collegati ad esso: famiglia, figli, tempo che non basta mai per aggiornarsi e studiare, stanchezza, ecc.. L’obiettivo era di darti modo di fare le tue considerazioni, con l’auspicio che ciò possa portarti ad una maggiore chiarezza riguardo al tuo percorso professionale futuro, e che la passione, la volontà di dare sempre il tuo contributo e di condividere le tue esperienze con il team, possano continuare a farti a sviluppare con entusiasmo senza timore dell’età che avanza.