diff --git a/docs/it/carriera-junior.md b/docs/it/carriera-junior.md new file mode 100644 index 00000000..b194a5ee --- /dev/null +++ b/docs/it/carriera-junior.md @@ -0,0 +1,150 @@ +# Carriera - Junior + +## Introduzione + +All'interno di questo libro sono stati affrontati in diverse forme molti dei tecnicismi che fanno parte del mestiere di chi sviluppa; l'obiettivo di questo libro, però, non è parlare di devs visti solamente come artigiani/e del software, bensì in modo più generale: come risorse umane. + +Sono presenti infatti diversi capitoli, pubblicati o in stesura, che parlano del modo in cui formarsi, del significato di questa professione o dei percorsi possibili di carriera, e che affrontano quindi l'aspetto più "personale" e "lavorativo" di questo mestiere. + +L'obiettivo di questo capitolo è descrivere per noi cosa significa in linea generale essere Junior Developer, esplorare le pratiche giornaliere per poter crescere e collaborare in modo sano in un team e infine il percorso per crescere di livello e non solo, il fine è raccontare anche quanto questa fase della carriera possa essere complessa oltre che delicata e fondamentale per il futuro, a seconda di come viene affrontata. + +## L'identikit di Junior Dev + +Come possiamo identificare un/a Junior Developer? Spoiler: non è semplice. + +A seconda dei panni che si stanno indossando (es. dev, recruiter, team leader, coach...) questo ruolo può assumere molteplici forme e declinazioni che aumentano esponenzialmente a seconda delle tipologie e delle dimensioni delle aziende, oppure se della categoria di consulenza o di prodotto e anche ad esempio se si è impiegati in ambito front-end o back-end. + +Anche affidandoci ad internet per trovare una definizione, le sfumature che emergono sono diverse; potremmo classificare chi sviluppa in base all'età (ad oggi non è più di tanto un indice di esperienza), in base agli studi e da quanto tempo siano stati completati o anche in base agli anni di esperienza in una determinata azienda o in generale di carriera. + +Per creare un piano comune che ci permetta di esplorare facilmente l'argomento e fissare quello che per noi è il fulcro del capitolo, la definizione di Junior Dev per noi è la seguente: + +> Una persona di una qualsiasi età, proveniente da qualsivoglia ambito di studi e che ha seguito un percorso di carriera di un qualsiasi tipo che però è in grado di leggere ed interpretare i requisiti di un possibile artefatto software o di una sua parte e ha le competenze tecniche per riprodurlo, non in completa autonomia. + +Per noi la chiave di volta è questa, non una delimitazione basata su aspetti come i titoli di studio, gli anni di esperienza o di lavoro ma un'identificazione tramite la capacità di scrivere software, con una particolare attenzione al livello di autonomia. + +Se volessimo schematizzare e fare qualche esempio a sostegno di questa tesi: + +| Tesi | Antitesi | +| ---------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| "Ho 10 anni di carriera alle spalle quindi non sono più un/a Junior Dev" | Il tuo apprendimento è stato efficace in questi anni? Sei autonoma/o nel tuo ambito? In quali ambiti hai lavorato? Come possiamo misurare la qualità del tuo lavoro sapendo solo che hai 10 anni di carriera alle spalle? Potresti essere stagnante da tempo e non essere aggiornato/a. | +| "Ho una laurea o un dottorato in Ingegneria o in Informatica" | Che tipo di competenze hai assorbito durante il percorso di studi? Come le hai applicate nel tuo lavoro? Sei autonomo/a grazie al tuo percorso di studi? | +| "Come esperienza lavorativa hai solamente un anno nella Azienda Esempio Srl, sarai certamente Junior Dev!" | Potresti invece aver praticato in autonomia in side-projects o potresti aver contribuito a progetti FOSS le tue abilità nello scrivere codice. | +| "Ho 40 anni, non posso essere classificata come Junior Dev " | L'età è solamente un numero, non fornisce informazioni sul tuo background o il percorso aziendale che hai compiuto. | +| "Con una laurea in Psicologia non puoi che essere un/a Junior Dev" | Alcuni background contribuiscono a migliorare le tue soft-skills e soprattutto ti forniscono un punto di vista diverso e come per l'esempio dell'esperienza lavorativa, potresti aver programmato nel tempo libero per anni, come passione e aver appreso abbastanza. | + +È importante però fare una precisazione, fermo restando che una persona può sviluppare e apprendere per passione tutte le capacità di programmare che vuole, lavorare in team è differente e lo è soprattutto perché si lavora all'interno di un'azienda, con le sue regole, i suoi tools e le sue pratiche. + +Sicuramente ci sono fattori che non possono mancare in un/a dev con molta esperienza, come i test, l'attenzione alla security o le performance ottimali di un applicativo insieme alla sua architettura, che sono tutti aspetti più complessi da assorbire in autonomia come Junior Dev, anche se la passione e la voglia di imparare possono portarti ovunque. + +Potresti essere contributor di progetti FOSS da anni o potresti aver lavorato per molto in un'azienda ma, arrivata/o in un'azienda nuova, è facile trovarsi spaesati nonostante l'esperienza, ricadendo quindi nella figura di "Junior" in un certo senso, a prescindere dalla sfida da affrontare. + +Magari in qualche modo hai curato in autonomia o in un team gli aspetti più complessi citati sopra -come security e performance, ad esempio-, iniziando da zero in una nuova realtà aziendale però tutto potrebbe sembrarti diverso e nuovo e come ribadito in diversi capitoli di questo nostro libro open, noi devs non finiamo mai di imparare, ricordandoci che chiunque potrebbe avere qualcosa da insegnarci, anche chi ha iniziato da poco. + +Questo cosa può significare? + +Non si smette mai di essere Junior Dev, anche se pratichiamo un apprendimento continuo e costante e che segue la natura mutevole di questa professione, e forse è anche meglio cosí. + +## "L'occasione fa del Dev un Senior" + +Stabilito un punto fisso come definizione di Junior Dev, possiamo proseguire nell'esplorare questa figura analizzandola dal punto di vista della carriera, immaginandola come la prima fase di un percorso lavorativo. + +In primis è bene stabilire che ogni persona che lavora nello sviluppo, a seconda delle esperienze, ha i suoi tempi e di conseguenza non esiste un limite di tempo già stabilito entro cui dovrai evolvere come dev e nel titolo abbiamo deliberatamente ripreso un vecchio proverbio per introdurre un concetto per noi fondamentale: nessuno, se non te stess\* può far avanzare la tua carriera in termini di competenze. + +Con questa espressione intendiamo evidenziare che di "occasioni" se ne presenteranno molte: la spiegazione di un concetto da parte dei colleghi, affiancamenti ad un senior, contenuti grautiti online (per il momento lasciamo perdere la formazione a pagamento), serate spese a sperimentare in autonomia oppure un nuovo progetto in azienda dove poter toccare con mano un nuovo aspetto mai affrontato. + +Sta solamente a te decidere di riconoscere di non sapere e non limitarti a "non lo so" ma ponendoti nella posizione di dire "non so, ma posso imparare" che non significa che l'unica dimensione formativa sia quella del "learn-by-doing", ma è un buon inizio cosí come è un inizio anche solo osservare altri mentre fanno, porre delle domande e in seguito magari sperimentare in un ciclo continuo di apprendimento, mattoncino per mattoncino. + +Al concetto di "occasioni" però è bene aggiungere anche i casi "limite" che nel bene nel male come vedremo rimangono comunque momenti per imparare ma andiamo per fasi. + +In caso non ti fosse mai capitato sappi che è facile uscire dal "recinto" del ruolo di Junior Dev in termini di responsabilità, soprattutto in aziende o team di piccole dimensioni, un collega è malato o si è licenziato, un progetto fuori tempo che si accavalla ad altri ed è un attimo trovarsi a gestire aspetti di un progetto che normalmente non dovremmo gestire noi e in linea di massima, non dovrebbe gestire una figura Junior. + +Beh per fortuna che almeno in questi casi il compenso economico aumenta... sbagliato, non è cosí che funziona. + +Potremmo dipingere il mondo come un bellissimo posto pieno di arcobaleni e di RAL commisurate alle responsabilità e ci sono sicuramente un sacco di aziende validissime e dalla struttura solida dove questi scenari sono ben lontani dalla norma, ma è comune che possano presentarsi ed è comune trovarsi in situazioni dove non si è abbastanza formati. + +Con queste righe non vogliamo assolutamente promuovere una cultura tossica del lavoro ne incoraggiare ad accettare situazioni "scomode" di questo stampo che si ripetono nel tempo e soprattutto non vogliamo spingerti a gestire situazioni di grande responsabilità per le quali non hai le skills, ma siccome ci sono e ci saranno sempre probabilmente realtà di questo tipo, è bene che tu acquisisca una adeguata preparazione. + +Cosa possiamo fare per affrontare queste situazioni? + +Possiamo lamentarci, alzare le mani e sedersi immobili ad aspettare aiuto, oppure possiamo vedere queste situazioni, come detto in precedenza, come occasioni. + +Potresti iniziare a scorrere la codebase, indagare su internet, raccogliere più informazioni possibili, fare piccoli tentativi in codebase separate e magari ad esempio in caso di bug riprodurre le casistiche per delineare con più precisione il problema e poi, successivamente, confrontarti con altri devs e se non hai modo di farlo, beh, puoi solo provare in autonomia. + +In linea di massima finché non ci sono perdite di dati in produzione, interruzioni di servizio e perdite di codice importante, possiamo agire ed è quello lo spazio dove possiamo muoverci per aumentare le nostre abilità di coding con una certa confidenza. + +Ribadiamo che queste situazioni non dovrebbero comunque essere la norma, non senza supervisione e non senza gli adeguati riferimenti in caso di problemi e in caso tu ti trovassi in questa posizione, questi sono tutti campanelli d'allarme per un'azienda che non considera la salute mentale dei suoi dipendenti e l'efficacia del proprio team. + +Quello a cui dovremmo mirare è arrivare ad avere un sottile limite entro cui è salutare esplorare "terre sconosciute" per imparare, senza alcun rischio e forse non avrai sempre una RAL commisurata alle responsabilità, ma avrai nuove abilità da esercitare. + +Se decidiamo di non cogliere nessuna delle occasione che arrivano, abbiamo il rovescio della medaglia: essere stagni nella propria posizione. + +Questo per noi è un altro dei fondamenti dell'essere buoni Junior, non fossilizzarsi che in linea di massima è un termine generale per indicare che non dovrai porti dei limiti nell'apprendere, nel definire quando qualcosa è fuori dalla tua sfera d'interesse o delle tue responsabilità e soprattutto, fatto un "gradino" (ad esempio appreso un nuovo framework) è bene pensare al prossimo da superare, ritornando al concetto di apprendimento continuo. + +Anche in questo caso però dobbiamo avvisarti, qui c'è un ulteriore punto fondamentale che è bene ricordare come Junior Dev ma è una costante nella carriera dei devs: attenzione alle tecnologie nuove. + +Spesso ti capiterà di veder persone che gridano che il framework, il linguaggio o la tecnologia che stai usando stanno morendo e che è bene imparare la nuovissima tecnologia di cui invece sono dei sostenitori o a cui hanno contribuito. +In realtà potremmo vedere molti di questi esempi grazie all'IA, dello stampo "Inutile imparare a programmare ora!" ma la realtà dei fatti è che tutto va filtrato e analizzato singolarmente e l'aspetto fondamentale di una tecnologia da valutare è la sua robustezza e non c'è giudice più capace del tempo, la tua stella polare dovrebbe essere la giusta flessibilità accompagnata dalla solidità e la sicurezza di aver scritto (o aver tentato il più possibile) di scrivere codice di qualità. + +In poche parole, equilibrio tra questi aspetti: innovazione, adattabilità, ottimizzazione, sicurezza e robustezza. + +Non spingere la tua mente in uno stato mentale di stress o di FOMO, la paura di "perdersi qualcosa", solo perché non hai appreso l'ultima tecnologia e a sostegno di questa tesi ti segnaliamo che ci sono sistemi centrali per l'umanità che navigano con tecnologie inventati decenni fa o con codice a basso livello. + +Prendi le novità cosí come vengono, se ti interessano informati e magari provale ma fai attenzione ad integrarla ovunque e concentrati sul non dimenticare i fondamenti e la forma mentale in favore di ciò che arrivato ieri piuttosto che un mese fa. + +Imparare, sperimentare e testare nuovi strumenti richiede tempo e sicuramente la frizione nell'assorbire una nuova tecnologia fa parte delle occasioni sopracitate ma è anche vero che forse un training di due settimane sul nuovo framework è poco sensato per ottenere semplicemente due millisecondi risparmiati durante il render di una pagina web, forse hai modi migliori di trascorrere il tuo tempo... magari contribuire all'open source :) + +Faccenda complessa vero? + +Come puoi vedere non vogliamo indorarti la pillola, la fase di carriera da Junior è parecchio delicata e composta di molteplici fattori da considerare e ancora non abbiamo esplorato cosa dovrebbe fare o non fare un Junior Dev per lavorare in modo ottimale, ci sono mille sfaccettature perché dopotutto in questa fase starai gettando le basi della tua carriera, quindi in realtà l'unico consiglio che possiamo darti è di non demordere, ora hai più chiaro quanto può essere complesso iniziare a sviluppare nel mondo di oggi. + +## Come crescere professionalmente + +Partiamo dal presupposto che spesso ad essere identificati professionalmente come Junior troviamo tutta una fetta di popolazione che, per definizione, Junior non è. Dedicare un capitolo di questo libro ad ogni "livello" professionale sarebbe impensabile, ed è per questo motivo che abbiamo deciso di inglobare nella definizione di Junior anche chi sviluppa come entry level. +Per questo motivo, il percorso di crescita professionale che andremo ad analizzare in questo capitolo potrà essere seguito sia da chi si sta affacciando per la prima volta al mondo del lavoro, sia da chi ha già alle spalle qualche anno di esperienza. +La chiave di volta per la crescita professionale nel mondo dello sviluppo software è la proattività. Essere proattivi significa non aspettare che le cose accadano, ma fare in modo che accadano. Questo concetto è particolarmente importante per chi si trova nella fase iniziale della propria carriera, in quanto è proprio in questo momento che si gettano le basi per il proprio futuro professionale. +I primi anni della carriera, così come i primi anni di vita, sono quelli in cui si impara di più. È in questa fase che si acquisiscono le competenze tecniche e non tecniche che saranno fondamentali per il proprio futuro professionale. È in questo momento che si impara a lavorare in team, a risolvere i problemi, a comunicare con gli altri, a gestire il tempo e le risorse a propria disposizione. + +Per tutte quelle persone che hanno appena avviato la propria carriera professionale, è importante scegliere la prima azienda nel modo giusto. Spesso si tende a sottovalutare l'importanza di questa decisione, ma è proprio da qui che si parte per costruire il proprio futuro professionale. È importante scegliere un'azienda che offra un ambiente di lavoro stimolante, che permetta di crescere professionalmente e che dia la possibilità di mettersi alla prova. In questa fase è molto importante riconsiderare le proprie priorità a breve termine per puntare quasi esclusivamente su quelle a lungo termine. +Per anni, soprattutto a causa di influenze dettate dai tempi passati, siamo stati abituati a pensare al luogo di lavoro come ad un posto in cui scambiare il proprio tempo per denaro. La retorica degli ultimi cinquant'anni ci ha portato a credere che il lavoro fosse un obbligo, un dovere, una necessità. Ma la realtà è ben diversa. Il lavoro è una scelta, una scelta che facciamo ogni giorno e che ci permette di esprimere noi stessi, di realizzarci, di crescere. Ecco perché è importante scegliere con cura il luogo in cui lavorare, perché è da qui che parte tutto. +In generale, durante la scelta di un posto di lavoro, mettiamo sul piatto della bilancia diversi aspetti, e tendiamo ad attribuire un peso a ognuno di essi. La retribuzione, e anche la flessibilità sulla modalità di lavoro, spesso giocano un ruolo fondamentale nello spostare l'ago della bilancia, ma è importante non dimenticare che ci sono altri aspetti che possono fare la differenza, soprattutto se stiamo per varcare per la prima volta la soglia di un'azienda. Un lavoro non è per sempre, i nostri gusti, le nostre abitudini, i nostri modi di fare possono cambiare, e con essi anche le nostre priorità. + +Nei primi tre mesi di carriera il tuo obiettivo principale dovrebbe essere quello di farti conoscere e conoscere l'azienda nella quale ti trovi. Questo periodo di solito coincide con il periodo di prova, e quindi è importante capire se siete fatti per stare insieme. Non aver paura di fuggire se il tuo sesto senso ti dice che non è il posto giusto per te. Non è un fallimento, è solo un'altra tappa del tuo percorso. E ricorda, non è mai troppo tardi per cambiare strada. In questo momento l'obiettivo principale è imparare, imparare, imparare. Non preoccuparti troppo di fare errori, è normale, è umano. +Nei primi sei mesi di carriera dovrai diventare un/a detective, cercando di acquisire quante più informazioni possibili sia su come lavora l'azienda, e sia sul dominio applicativo della stessa. Ci sono realtà dove il dominio applicativo è molto complesso, e richiede tempo per essere assimilato. Non aver paura di chiedere, non aver paura di fare domande, non aver paura di sbagliare. Ricorda, sei lì per imparare, non solo per dimostrare quanto vali. In questa fase dovresti riuscire a identificare il capobranco del tuo team, colui o colei che ha più esperienza, e che può aiutarti a crescere. Ecco, ti ci dovresti attaccare come una cozza al suo scoglio. +Nei tuoi primi nove mesi di carriera dovresti dimenticare totalmente il tuo stipendio. Questo non significa che non dovrai preoccuparti di come pagare l'affitto o la spesa, ma che non dovresti permettere allo stesso di diventare un'etichetta per il tuo livello di professionalità. Non lavorare mai gratis, piuttosto meglio farsi assegnare un rimborso spese, il lavoro, seppur non di esperienza, va sempre ricompensato. Evita di accettare lavori superpagati ma senza prospettive o che non ti soddisfano, la gratificazione economica dura poco e soprattutto non è considerata un investimento a lungo termine. +Durante il primo anno di carriera ti ritroverai a svolgere task sia semplici che leggermente più complessi. Da junior, è molto probabile che il tuo lavoro sarà spesso di supporto, e che ti troverai a lavorare su task che non richiedono particolari competenze tecniche. Questo non significa che il tuo lavoro non sia importante, anzi. Il tuo lavoro è fondamentale per il buon funzionamento del team, e per la riuscita del progetto. Non sottovalutare mai il tuo ruolo, e non permettere a nessuno di farlo. Se ti trovi in un ambiente in cui il tuo lavoro non è riconosciuto, è il momento di cambiare aria. Ricorda, il tuo lavoro è importante, e tu sei importante. +In questo periodo, spesso e volentieri ti capiterà di svolgere attività nelle quali non ti senti a tuo agio, o che non ti piacciono, o peggio, che per un motivo o per l'altro, non riuscirai a risolvere. Qui la contemporanea presenza e assenza di informazione giocheranno un ruolo fondamentale nello sviluppo delle tue abilità di problem solving. Cerca di attivare la modalità esplorativa nel tuo cervello, poniti domande, e soprattutto falle agli altri. È importante imparare a porre le domande in modo da mantenere attiva la modalità esplorativa. Cerca di desistere dal chiedere di fornirti la soluzione: un cervello in fase di stress positivo è un cervello che impara. +Un altro importante momento che dovrai imparare a sfruttare al meglio per massimizzare l'apprendimento è quello di pair programming e di code review. Cerca insistentemente di lavorare a stretto contatto con i tuoi colleghi, e fai revisionare il tuo codice ogni volta che puoi. Questo ti permetterà di imparare nuove tecniche, nuovi pattern, e soprattutto ti permetterà di capire come lavorano gli altri. Ricorda, il pair programming e le code review sono due attività fondamentali per la crescita professionale di un developer, e non dovrebbero mai essere trascurate. Cerca di mettere da parte l'idea che il giudizio degli altri possa essere negativo sulla tua persona, e cerca di accettare le critiche come un'opportunità di crescita. Ricorda, il tuo obiettivo è imparare, non dimostrare quanto vali. + +Dopo un po' di tempo passato a lavorare in azienda, molto probabilmente individuerai una certa predilezione verso determinati processi e maturerai un certo livello di competenza verso alcune aree del dominio applicativo. Le attività di pair programming si riducono allo stretto necessario, e le sessioni di code review non impegnano troppo tempo al tuo reviewer nel suggerirti dei cambiamenti. Inizierai ad avere responsabilità diverse, e probabilmente ti troverai a dover gestire task più complessi e a dover prendere decisioni più importanti. Complimenti! Questi sono buoni indicatori che la tua professionalità sta crescendo, e che stai maturando come sviluppatore. +Quasi sicuramente le tue competenze tecniche saranno migliorate, imparerai a conoscere più nel dettaglio un linguaggio di programmazione, a saper utilizzare meglio il framework di riferimento nella tua azienda, e soprattutto a saper risolvere attività più lunghe e corpose nel minor tempo possibile utilizzando pattern e dogmi dell'ingegneria del software. +Sta accadendo qualcosa di meraviglioso e probabilmente neanche te ne sei accorto: stai diventando un middle developer. Questo è un momento molto importante nella tua carriera, perché è qui che inizierai a capire quali sono le tue reali competenze, quali sono le aree in cui dovresti migliorare, e quelle in cui vuoi specializzarti. È qui che inizierai a capire chi sei, e chi vuoi diventare. +Probabilmente sono passati due anni da quando hai iniziato a lavorare in azienda, sei sempre meno dipendente dai tuoi colleghi e colleghe che hanno più esperienza di te e inizi a prendere decisioni in autonomia. Partecipi attivamente alla vita del team di lavoro, proponi soluzioni e discuti della fattibilità delle tue idee e delle idee dei membri del tuo team. Inizi a capire che il lavoro di squadra è fondamentale per la riuscita di un progetto, e che la tua professionalità è strettamente legata a quella dei tuoi colleghi. Inizi a capire che il tuo lavoro non è solo il tuo lavoro, ma è il lavoro di tutto il team. + +E adesso che si fa? Adesso che sei un/a middle developer, è probabile che la persona che ti fa da responsabile diretta ti premi con una promozione: più responsabilità, task via via sempre più complessi ma alla portata delle tue competenze, e soprattutto un migliore trattamento economico. Ma attenzione, non è detto che questo accada: non è detto che tu debba essere promosso/a per forza, tuttavia è plausibile che tu possa ambire a una promozione. In ogni caso, è importante che tu continui a lavorare sodo, a metterti in gioco, a cercare di migliorare sempre di più. La tua crescita professionale non dovrebbe mai fermarsi, e non dovrebbe mai essere condizionata da un titolo o da un compenso. La tua crescita professionale deve essere un obiettivo personale, un obiettivo che ti permetta di esprimere al meglio le tue potenzialità, e di realizzarti come professionista. +Se dentro di te senti una voce che ti comunica che "hai fatto la differenza", è il caso di organizzare una sessione con il tuo superiore per negoziare una promozione o per fissare degli obiettivi da raggiungere per ottenerla a stretto giro. Se invece non senti questa voce, è il caso di fare un passo indietro e di riflettere su cosa ti manca per sentirti realizzato come professionista. +A volte può capitare che il lavoro non sia più stimolante, e che tu senta il bisogno di cambiare aria. Questo è normale, e non è un fallimento. È solo un'altra tappa del tuo percorso professionale. Se senti che il tuo lavoro non ti soddisfa più, è il momento di cambiare. Non aver paura di fare un passo indietro, di tornare sui tuoi passi, di cambiare strada. La tua crescita professionale è un percorso personale, e solo tu puoi decidere quale strada prendere. +In questo caso puoi ricominciare a fare colloqui, ed è in questo particolare momento che riuscirai a ricevere feedback con molta più frequenza rispetto a quando sei in azienda. Fare colloqui è un ottimo strumento per avere un parere esterno sul tuo livello di competenza, e per capire quali sono le aree in cui potresti migliorare. + +E dopo? Dopo lo sai solo tu. Non esiste il manuale della carriera perfetta. Ogni percorso professionale è diverso e degno di essere vissuto. L'importante è non smettere mai di crescere, di imparare, di mettersi in gioco. L'importante è non smettere mai di essere curiosi, di voler sapere di più, di voler fare di più. L'importante è non smettere mai di essere un junior. L'importante è non smettere mai di essere te stesso, di voler essere la migliore versione di te stesso. L'importante è non smettere mai di essere un developer. + +## La sindrome della pappa pronta + +"Ciò che dobbiamo imparare a fare, lo impariamo facendolo." (Aristotele) + +Questa frase di Aristotele riporta una grande e bella verità: eppure, nonostante abbia un significato manifesto, spesso ci troviamo a cercare la soluzione ad un problema senza dedicare la giusta quantità di attenzione al perché. Così come il titolo di uno dei più famosi libri dello scrittore e saggista Simon Sinek ("Partire dal Perché") ci suggerisce, è importante capire il motivo per cui stiamo facendo qualcosa, prima di passare al come e al cosa. +Questo comportamento, che potremmo definire come "sindrome della pappa pronta" o "da eccesso di informazione", è molto diffuso tra chi è giovane nel settore dello sviluppo, e spesso è la causa principale di molti problemi che si presentano durante la fase di crescita professionale. + +Viviamo in un mondo in cui l'informazione è ovunque, e spesso ci troviamo a dover fare i conti con un eccesso di nozioni che ci confondono e ci distraggono. La nostra soglia dell'attenzione è sempre più bassa, e spesso ci troviamo a saltare da un argomento all'altro senza approfondire nulla. Inoltre, con il diffondersi delle intelligenze artificiali generative, non potremo far altro che continuare ad impigrirci, a delegare sempre di più il pensiero critico e la risoluzione dei problemi a macchine sempre più potenti e sempre più intelligenti. +Intendiamoci, non sono assolutamente contrario ai vantaggi che tutti questi strumenti possono portare all'interno della nostra vita quotidiana e professionale, ma credo che sia importante non dimenticare che la nostra mente è la nostra risorsa più preziosa, e che dobbiamo fare in modo di mantenerla sempre attiva e sempre pronta ad affrontare le sfide che ci si presentano. +Ecco perché è importante imparare a fare le cose, e non solo a leggere o a guardare qualcun altro farle. + +Se vuoi ambire ad una carriera professionale di successo, devi imparare a lavorare con il pensiero critico sempre attivo e a porti sempre delle domande, sia quando ti si presentano dei problemi e sia quando ti vengono proposte delle soluzioni. +Uno degli strumenti più potenti che ogni dev ha a disposizione è la community. La community è un luogo in cui puoi trovare risposte ai tuoi dubbi, soluzioni ai tuoi problemi, e soprattutto, persone con cui condividere le tue esperienze e le tue conoscenze. +Se c'è una cosa che dovresti fare fin da subito è non prendere mai per oro colato quello che ti viene detto, ma cercare sempre di capire il perché di una cosa, e di metterla in discussione. Solo così potrai crescere professionalmente, e diventare un/a developer migliore. + +Fra le community di dev più utilizzate e conosciute ci sono sicuramente Stack Overflow, GitHub, Reddit, e molte altre. Chi si trova alle prime armi si affida a queste piattaforme per cercare risposte alle proprie domande, e spesso e volentieri quando le trova, si limita a copia-incollare la soluzione o lo _snippet_ di codice della risposta più votata, senza concedersi il tempo di capire il perché di quella soluzione, e di metterla in discussione. +Questo modus operandi è molto pericoloso, perché ti porta a non imparare nulla, a non crescere professionalmente, e soprattutto ad impigrire la tua mente. Chi sviluppa, specie se con poca esperienza, potrebbe essere piuttosto insicuro/a delle proprie capacità, e peccare della giusta maturità nell'accettare i propri limiti sulla propria conoscenza. +Spesso e volentieri questo atteggiamento viene messo in atto per impressionare il team di recruiting quando si cerca un nuovo lavoro, ed ha lo stesso valore di quando si copia il compito del compagno di banco a scuola. Ha davvero senso fare una cosa del genere? Come saremo in grado di affrontare un colloquio di lavoro se non siamo in grado di rispondere alle domande che ci vengono poste? E se non siamo in grado di rispondere, come possiamo sperare di ottenere quel lavoro? + +La soluzione a questo problema è molto semplice: basta dedicare il giusto tempo a capire il perché di una cosa, e a metterla in discussione. L'imparare facendo (in inglese altresì noto come learning-by-doing) è uno dei modi migliori per acquisire nuove competenze, e per crescere professionalmente. +Se sei un/a junior developer, non temere di star perdendo tempo. Impara a destinare una buona quantità di tempo alla tua formazione prima di pensare al risultato finale. Così come detto nella sezione "Come crescere professionalmente", in questo momento della tua carriera è molto più importante puntare ai risultati che potresti ottenere a lungo termine, e l'apprendimento è uno di questi.