Qualche appunto al volo sulle riflessioni emerse sviluppando EAC insieme a GPT
Il mito dell'ingegnere full-stack
A pensarci bene, in EAC ho curato personalmente tutto da solo: dal design al front-end, al back-end, fino al database; in teoria, dovrei poter indossare il cappello da ingegnere full-stack.
A dire il vero, però, questo cappello non mi è mai piaciuto, o meglio non amo i cappelli in generale, ma detesto in modo particolare il titolo di ingegnere full-stack.
Etichette e cappelli sono barriere, ma anche lapidi: se ci si ostina a categorizzare tutto così, si toglie ogni vitalità alle cose.
Un ingegnere maturo dovrebbe avere competenze in vari ambiti; il vero tocco di genio nell'ingegneria risiede proprio nel riuscire a concretizzare un'idea impiegando tecnologie differenti.
E la cosa più importante è che, durante l'intero processo di sviluppo,
il cappello da ingegnere full-stack non esiste affatto!
Una cosa interessante è che la prima versione che ho sviluppato era un caos tremendo, un autentico disastro ingegneristico, e credo che uno dei motivi fosse proprio l'aver indossato quel cappello da ingegnere full-stack.
Indossando quel cappello, ad esempio quando scrivevo il front-end, mi mettevo a programmare direttamente, senza una fase di design o di slicing degli elementi grafici. Lo stesso valeva per le tabelle del database: qualunque campo mi venisse in mente, lo modificavo subito all'istante. Di conseguenza, man mano che si andava avanti regnava il caos, l'approccio full-stack non funzionava più e i problemi si moltiplicavano nello sviluppo successivo, costringendomi spesso a buttare tutto e ricominciare da capo.
In realtà, anche se possiedi molte competenze, quando devi davvero fare qualcosa puoi soltanto
indossare un cappello alla volta.
Ad esempio, quando sviluppi pagine front-end e indossi il cappello da designer, devi concentrarti solo sulla coerenza di UI e UX; se provi a indossare due cappelli insieme, i tuoi pensieri entreranno inevitabilmente in conflitto.
Allo stesso modo, quando indossi il cappello della gestione operativa, non devi pensare allo sviluppo, bensì definire come gestire concretamente una community e stabilire le regole, senza farti frenare dalla difficoltà tecnica dell'implementazione.
Così pure, quando indossi il cappello da ingegnere, devi valutare come ottimizzare le prestazioni e ridurre la mole di lavoro ingegneristico.
Tenere il cappello nelle proprie mani
Ho sentito dire da un attore che chiunque può interpretare qualsiasi ruolo, a patto di avere abbastanza tempo per calarsi nella parte. Nei momenti di tempesta potremmo sentirci sopraffatti. Per me, la cosa fondamentale è tenere il cappello nelle proprie mani: il ruolo lo scegliamo noi, a prescindere da quanto bene o male lo si interpreti, ma non bisogna mai dimenticare di togliere il cappello che si ha in testa e riflettere su quello che si tiene in mano.
Grazie per la lettura. Tanto di cappello a voi.