Sono convinto che ogni mestiere richieda un aggiornamento continuo - qualcuno più di altri, naturalmente, o con un passo diverso a seconda di quanto rapidamente si sviluppa l'ambito di riferimento; il primo lavoro che mi viene in mente quando penso ad "aggiornamento" è quello del medico, ma anche un muratore o un imbianchino (per dire due mestieri più "manuali" a caso, nessuno si offenda) devono sempre stare al passo con prodotti e tecniche nuove - la concorrenza è spietata in ogni ambito.

Ma sono anche convinto che quando si parla di programmazione (almeno in ambito web, quello che conosco) le cose diventino leggermente più complicate: un po' perché la tecnologia corre ad un ritmo estremamente elevato, un po' perché è più "semplice" (perdonatemi il termine) creare ed innovare - mentre una tecnica medica nuova ha bisogno di pubblicazioni, studi, trials clinici ecc. prima di poter essere diffusa, o anche un nuovo prodotto per la coltivazione necessita di studio sulla chimica e fisica del terreno per poter essere impiegato, nel mondo della programmazione basta a volte un po' di tempo ed intuito per creare un nuovo framework che arriva a cambiare gli equilibri dell'ecosistema esistente (penso ad esempio a Laravel o Node.js).

Se a questo poi ci aggiungiamo:

  • la tendenza a seguire le ondate dei vari trend
  • un'influsso elevato e continuo di persone da tutto il mondo
  • un'enorme disponibilità di risorse a poco o nessun prezzo, con una barriera d'ingresso quasi inesistente (non in tutti i rami, chiaro). A volte i tutorial per principianti sono scritti da quelli che hanno appena completato un altro tutorial per principianti - è difficile trovare un fenomeno simile in altre professioni
  • la spinta continua all'innovazione, che è intrinseco alla natura stessa della tecnologia

ecco che abbiamo la ricetta per un mestiere che esige una quantità di dedizione, tempo e passione che ha pochi eguali nel panorama lavorativo.

Quanti si aspettano che un medico, nel weekend, visiti dei pazienti? L'ultima volta che avete chiamato l'idraulico lo avete scelto in base a quante tubature ha riparato agli amici per passione? Detto così fa sorridere, eppure spesso è proprio quanto ci si aspetta da un programmatore - non di rado, infatti, ho visto annunci in cui un plus era dato dai progetti personali open source disponibili su github.


Ma non solo: la pressione sociale per essere attivo, sempre sul pezzo e prolifico non è da meno - tra video tutorial, live coding, progetti open source, hackaton, conferenze, ecc. essere un programmatore - soprattutto in certi ambiti - è molto di più di un lavoro a tempo pieno.

Tutto questo può sfociare, a volte, in una sensazione di frustrazione e di inadeguatezza (la famosa sindrome dell'impostore), soprattutto quando le priorità della vita cambiano ed il tempo libero si assottiglia sempre di più: famiglia, casa, socialità, commuting, età che matura, sono tutti fattori che diventano sempre più preponderanti e si finisce per riempire il proverbiale cassetto invece che le pagine dell'IDE. Voglia e passione non spariscono, ma il giorno resta di 24 ore e le tecnologie si moltiplicano come funghi - e quando ti vengono a dire "un programmatore serio lavora anche dopo le 18, non timbra il cartellino, ha la passione" giustamente tu non sai se mandarlo a quel paese, cambiare mestiere o dubitare di te stesso.


Perché diciamocelo chiaramente: un programmatore che non si aggiorna in continuazione rischia di trovarsi presto fuori dal mondo del lavoro. E per restare sempre in corsa le possibilità non sono molte:

  • lavorare in una startup o un altro ambiente altrettanto frizzante in cui si sperimenta con le ultimissime tecnologie (una situazione che non amo: spesso sono disorganizzate, con orari fantasiosi e poca sicurezza economica quando terminano gli investimenti)
  • avere la fortuna di lavorare in un'azienda più strutturata che però capisce il valore del progresso tecnologico e sa adottarlo a proprio vantaggio - penso a Docker, CI/CD, ecc.
  • lavorare in proprio? Sento di liberi professionisti che sanno scegliere la tecnologia che preferiscono e restare al passo, ma ho il sentore che non siano la maggioranza;
  • Sacrificare qualche ora la sera e nel weekend, giocando con le cose più sfiziose o studiando per quelle più richieste.

Tutte le altre situazioni sono potenzialmente devastanti.

Non ho dati alla mano ma credo che le aziende in stagnazione tecnologica siano la maggioranza. Tanti sono i motivi e tante sono anche le sfumature: può essere una questione di burocrazia, di dimensioni, di mentalità, di business, spesso anche di management - non possiamo certo aspettarci che un'azienda investa denaro senza che si tramuti in un ritorno economico, chiaramente.

Cosa fare, allora, quando ci si trova in un ambiente di questo tipo? Come ci si muove quando l'obsolescenza del proprio curriculum diventa una minaccia sempre più concreta?

La risposta più immediata è "scappa!" (o il gettonatissimo "scappa all'estero!"), come suggerisce l'istinto di fronte ad una situazione di pericolo. Ma spesso c'è una vita intorno al lavoro da considerare, e le incognite di un posto nuovo sono tante: è davvero più interessante / organizzato / all'avanguardia / piacevole (/qualunquecosameglio) rispetto ad ora? Veramente basta solo che paghino di più? E se usano la tecnologia X, perché dovrebbero assumere me che ho sempre usato Y?
Restare? Focalizzarsi sugli aspetti positivi ma rischiare di ritrovarsi senza un mercato qualora ce ne fosse la necessità?


La questione la si può considerare semplice quanto si vuole, ma dubito che lo diventi davvero.

Lavorare in certi ambiti della programmazione, oggi, è per certi aspetti un paradiso rispetto ad una volta (StackOverflow, Google, documentazioni a portata di click) ma il rovescio della medaglia è una competizione altissima, un livello qualitativo molto variabile ma non sempre discernibile, una pressione alla produttività enorme ed un ecosistema gigantesco in continua mutazione (ci sono molti più package NPM che parole nel dizionario per denominarli).

Restare in corsa richiede davvero tanta passione e volontà, anche quando gli sforzi non sono visibili o sbandierati ai quattro venti. E parafrasando un famoso detto:

Ogni programmatore che incontri sta cercando di capirci qualcosa in una tecnologia nuova. Sii gentile, sempre.