Siamo arrivati all'ultima parte della nostra serie.
Abbiamo già parlato dei primi passi nella professione.
Di ciò che vale davvero imparare. Di Code Review, Clean Code e del lavoro quotidiano in squadra.
Rimane una domanda: Quando, in realtà, smetti di essere Junior?
Questa domanda compare molto spesso.
Dopo un anno? Dopo due anni? Dopo cinque? O forse quando impari un altro framework?
La risposta potrebbe sorprenderti. - Non esiste un solo numero giusto.
Abbiamo visto sviluppatori con dieci anni di esperienza che ancora necessitavano di guida in progetti più complessi. Abbiamo visto anche persone con tre anni di esperienza che progettavano soluzioni autonomamente, supportavano colleghi più giovani e prendevano responsabilità su interi moduli di sistema.
È proprio per questo che, nell'IT, gli anni di esperienza sono solo uno degli elementi del puzzle.
Il Senior non sa tutto
Questo è probabilmente il mito più grande del settore.
Molti Junior immaginano il Senior Developer come qualcuno che ha la risposta a ogni domanda. La realtà è completamente diversa.
Un buon Senior spesso dice: "Non lo so."
Ma subito aggiunge: "Lo verifichiamo."
Questa è una grande differenza.
Il Senior non deve ricordare tutta la documentazione. Non deve conoscere ogni libreria. Non deve saper scrivere tutto a memoria.
Sa invece:
- dove cercare le informazioni,
- come verificare una soluzione,
- quali rischi comporta una determinata decisione,
- quando dire "non lo so" invece di azzardare.
Questa è una delle caratteristiche più importanti di uno sviluppatore maturo.
Programmatore o ingegnere?
All'inizio della carriera la maggior parte delle persone si concentra sul codice.
Come scrivere una funzione? Come fare un'API? Come collegare il database?
Col tempo inizi a notare che il codice è solo uno strumento.
Il vero compito è risolvere un problema di business.
Il cliente non acquista un'applicazione perché è stata scritta in un linguaggio specifico. Compra la soluzione al suo problema.
È proprio in quel momento che lo sviluppatore inizia a pensare come un ingegnere.
La migliore funzione a volte è quella che non scrivi
Sembra strano? Eppure.
Immagina che un cliente chieda di creare un nuovo modulo. Puoi subito iniziare a progettare la soluzione. Puoi anche fare qualche domanda.
Perché serve questa funzionalità?
Quanto spesso verrà usata?
Esiste già una soluzione simile?
Si può ottenere lo stesso effetto in modo più semplice?
Spesso risulta che il problema può essere risolto senza scrivere centinaia di nuove righe di codice. Ed è proprio per decisioni del genere che il cliente paga. Non per il numero di commit.
La responsabilità inizia dove finisce il codice
Il Senior non è responsabile solo della sua parte di progetto. Guarda più ampio.
Si chiede:
- come la modifica influenzerà altri moduli,
- se la soluzione sarà scalabile,
- se la nuova funzionalità sarà facile da mantenere,
- quali rischi comporta il rilascio,
- se gli utenti trarranno davvero un beneficio.
È un modo di pensare completamente diverso.
Un buon Senior crea altri Senior
Questa è una delle cose più belle del nostro settore.
I migliori sviluppatori che abbiamo incontrato non hanno mai temuto di condividere la conoscenza. Anzi.
Erano felici quando qualcuno del team cresceva più velocemente. Perché una squadra forte batte sempre l'eroe solitario.
Per oltre vent'anni abbiamo avuto l'opportunità di osservare come persone che iniziavano da noi con uno stage diventassero membri a pieno titolo del team. Una di queste storie l'abbiamo raccontata nella prima parte di questa serie.
Oggi quella persona gestisce in autonomia compiti impegnativi, progetta soluzioni e supporta sviluppatori più giovani.
È successo da un giorno all'altro? Ovviamente no. È il risultato di centinaia di ore di apprendimento. Di decine di Code Review. Di innumerevoli domande. Degli errori commessi. E di una grande curiosità verso il mondo.
L'AI non sostituirà un buon sviluppatore
Non poteva mancare questo tema. L'intelligenza artificiale sta cambiando il nostro settore? - Sì. Molto.
Ma rende gli sviluppatori non più inutili? - Al contrario.
Cambia la natura del lavoro. Dedichiamo sempre meno tempo a scrivere codice ripetitivo.
Sempre più tempo a:
- analizzare i problemi,
- progettare l'architettura,
- verificare le soluzioni,
- confrontarsi con i clienti,
- prendere decisioni.
L'AI è un ottimo assistente. Ma la responsabilità del progetto rimane umana. E così sarà per molto tempo.
Cosa non scriverai sul CV
Il CV mostrerà:
- linguaggi di programmazione,
- framework,
- certificazioni,
- esperienza.
Non mostrerà però cose che spesso determinano il successo.
Se sai ammettere un errore?
Se sai chiedere aiuto?
Se rispetti il tempo degli altri?
Se mantieni gli accordi?
Se sai risolvere i conflitti con calma?
Se ti assumi la responsabilità delle tue decisioni?
Sono proprio queste qualità che fanno sì che un team voglia lavorare con te.
Se potessimo dare un solo consiglio...
Dopo oltre vent'anni di sviluppo software potremmo parlare di tecnologie.
Di architettura. Di framework. Di intelligenza artificiale.
Ma se dovessimo lasciarti un unico consiglio, sarebbe questo: Non smettere mai di essere curioso.
Le tecnologie cambieranno. I linguaggi di programmazione evolveranno. I framework nasceranno e scompariranno.
Ma la curiosità, l'umiltà, la voglia di imparare, la capacità di fare domande - sono competenze che serviranno sempre.
Glossario
Senior Developer
Sviluppatore esperto che non solo scrive codice di alta qualità, ma progetta soluzioni, prende decisioni tecniche, supporta il team e si assume la responsabilità dei progetti realizzati.
Architettura del software
Il modo in cui un'applicazione e le relazioni tra i suoi elementi sono progettate, influenzando evoluzione, performance e facilità di manutenzione del sistema.
Scalabilità
La capacità di un sistema di gestire un numero crescente di utenti, dati o processi senza perdita di prestazioni.
Commit
La registrazione di modifiche in un sistema di controllo versione come Git, che permette di tracciare la storia di sviluppo del progetto.
Mentoring
Il processo di trasmissione di conoscenze ed esperienza ai membri meno esperti del team, a supporto del loro sviluppo professionale.
Riepilogo dell'intera serie
Se hai letto tutte e quattro le parti, forse avrai notato che raramente abbiamo parlato di framework specifici.
Volutamente.
Perché le tecnologie cambiano più rapidamente che mai.
Ciò che oggi è più popolare, tra qualche anno potrebbe essere solo una curiosità.
Ma il modo di pensare di un buon sviluppatore rimane invariato; Analisi. Responsabilità. Comunicazione. Lavoro di squadra. Curiosità.
Sono proprio queste che fanno sì che da Junior diventi Mid Developer e col tempo Senior.
In Web24 da oltre 20 anni sviluppiamo software per clienti di vari settori. Nel corso del tempo abbiamo constatato una cosa: i migliori sviluppatori non si riconoscono dal numero di linguaggi che conoscono. Si riconoscono da come risolvono i problemi, come collaborano con le persone e quanto tengono alla qualità di ciò che creano.
Se stai appena iniziando il tuo percorso nell'IT, ti auguriamo di non perdere mai la curiosità.
Perché è proprio da essa che inizia ogni buona carriera.
