All'inizio della carriera di uno sviluppatore, spesso ci si sente un po' spaventati: ci sono problemi sconosciuti da affrontare, molte cose da imparare e decisioni difficili da prendere. In alcuni casi, possiamo commettere errori in queste decisioni. È del tutto normale, quindi non vale la pena di colpevolizzarsi per questo. Ciò che è importante fare è ricordare la propria esperienza per il futuro. Io sono uno sviluppatore senior che ha commesso un sacco di errori in passato. Qui di seguito parlerò degli otto errori più gravi che ho fatto quando ero ancora un neofita nello sviluppo e spiegherò come avrei potuto evitarli.

Ho preso il primo lavoro che mi hanno offerto
Quando si inizia a scrivere codice da soli o si termina l'istruzione universitaria, trovare il primo lavoro nella propria specialità diventa uno degli obiettivi principali. Qualcosa come la luce alla fine di un lungo tunnel.
Trovare lavoro, però, non è semplice. Ci sono sempre più persone che richiedono posizioni per junior. Si è costretti a , attraversare una serie di colloqui, e spesso questo processo si protrae notevolmente. Considerando tutto ciò, non sorprende che qualsiasi offerta di lavoro susciti il desiderio di aggrapparsi ad essa con entrambe le mani.
Eppure, potrebbe rivelarsi una cattiva idea. Il mio primo lavoro era tutto fuorché ideale, sia per quanto riguarda la crescita professionale che per il piacere del processo. Gli sviluppatori seguivano il motto "va bene così", e non era consuetudine impegnarsi seriamente. Tutti si cercavano di addossare le colpe reciprocamente, e spesso dovevo prendere scorciatoie per rispettare scadenze molto ristrette. Ma la cosa peggiore è stata che non ho imparato assolutamente nulla.
Durante i colloqui, trascuravo tutti i segnali di avvertimento, così affascinato ero dalla prospettiva di trovare un lavoro. Se emergevano dei dubbi, svanivano appena sentivo che mi stavano assumendo! E a un buon stipendio!
E questo si rivelò un grande errore.
Il primo lavoro è di grande importanza. Fornisce una visione generale di cosa significhi essere un vero programmatore e le esperienze e le competenze che ne derivano possono gettare le basi per tutta la tua carriera futura. Ecco perché è fondamentale informarsi minuziosamente sulla posizione e sull'azienda prima di accettare. Esperienze negative e cattivi mentori non sono ciò di cui hai bisogno.
- Cerca informazioni sulla società. Dai un'occhiata ai siti di recensioni, visita il sito ufficiale e esplora Internet per raccogliere feedback. In questo modo, potrai capire meglio se l'azienda soddisfa le tue esigenze e obiettivi.
- Chiedi ai conoscenti. Se qualcuno nel tuo giro ha lavorato per questo datore di lavoro o conosce qualcuno nello staff, parlane con loro di persona. Scopri cosa è piaciuto, cosa non è piaciuto e come valutano complessivamente l'esperienza.
Non hai posto le domande giuste durante i colloqui
Il colloquio è la migliore opportunità per conoscere meglio l'azienda, quindi assicurati di preparare domande su ciò che desideri sapere dai dipendenti. Ecco un paio di esempi:
- Chiedi del processo di sviluppo (quali metodologie seguono? Viene effettuata un'ispezione del codice? Quali strategie di branching vengono utilizzate?)
- Chiedi del testing (quali test vengono eseguiti? Ci sono persone dedicate esclusivamente ai test?)
- Chiedi della cultura aziendale (quanto è informale? È prevista qualche forma di supporto per i junior?)
Non ho ancora deciso la mia traiettoria
Senza dubbio, il percorso per diventare uno sviluppatore esperto è pieno di curve. Oggi c'è la possibilità di scegliere tra un'ampia varietà di linguaggi, framework e strumenti. Il mio errore all'inizio della carriera è stato cercare di imparare tutto. Paradossalmente, questo ha portato solo al fatto che non sono avanzato in nulla. Prima mi sono buttato su Java, poi su jQuery, ho proseguito con C#, e da lì sono passato a C++ ... Invece di scegliere un linguaggio e dedicarmici completamente, ho saltato da uno all'altro, semplicemente a seconda dell'umore. Posso assicurarvi che si tratta di un modo di apprendere estremamente inefficace.
Avrei ottenuto risultati migliori e progredito più rapidamente nella mia carriera se avessi immediatamente definito un percorso, cioè un insieme specifico di tecnologie, e mi fossi concentrato su di esse. Ad esempio, se sei un front-end developer, padroneggia JavaScript, CSS/HTML e un framework a tua scelta. Se ti occupi del back-end, prendi un linguaggio e studialo a fondo. Non è necessario conoscere sia Python che Java che C#.
Quindi, concentrati, decidi la tua direzione e crea un piano che ti permetta di diventare un professionista nel percorso scelto (ecco , che può aiutarti in questo).
Hai affinato le tue abilità di coding.
Quindi, stai preparando un test per dimostrare le tue capacità al datore di lavoro, oppure hai già iniziato il tuo primo compito nel tuo primo lavoro. Stai dando il massimo per impressionare. Come puoi assicurarti di ottenere il risultato desiderato? Probabilmente, dimostrando durante il lavoro quella tecnica avanzata che hai recentemente imparato, giusto?
No. È un errore grave, che ho commesso anch'io e che vedo frequentemente nel lavoro di altri junior. È comune per loro inventare la ruota o cercare soluzioni complicate nel tentativo di mettere in mostra le proprie conoscenze.
Il miglior approccio alla scrittura del codice è espresso . Puntando alla semplicità, otterrai un codice comprensibile, con cui sarà facile lavorare in futuro (il developer che prenderà il tuo posto lo apprezzerà).
Dimenticavo che c'è vita al di fuori del codice
Non "disconnettersi" mai è una cattiva abitudine che ho acquisito molto presto. Tornando a casa alla fine della giornata, portavo regolarmente con me il laptop di lavoro e passavo ore dietro di esso, per completare un task o risolvere un bug, anche se entrambi avrebbero tranquillamente potuto aspettare fino al mattino. Come ci si aspettava, questo tipo di routine generava stress e io mi esaurivo rapidamente.
Il motivo di questo comportamento risiedeva in parte nel mio desiderio di fare tutto il più rapidamente possibile. In realtà, avrei dovuto comprendere che il lavoro è un processo a lungo termine e, a parte rare eccezioni, le incombenze di oggi possono tranquillamente essere rimandate a domani. È fondamentale ogni tanto cambiare prospettiva e ricordare che la vita non si esaurisce nel lavoro: ci sono amici, famiglia, hobby e divertimenti. Se vi piace stare svegli fino all'alba a scrivere codice, benissimo! Ma quando smette di essere piacevole, fermatevi e chiedetevi se non sia ora di dedicarvi a qualcos'altro. Non stiamo lavorando fino all'ultimo giorno!
Evitavo di dire: «Non lo so»
Rimanere bloccati nel processo di risoluzione di un problema o di completamento di un compito è comune, anche i più esperti affrontano questa situazione. Quando ero un junior, dicevo: «Non lo so» meno spesso di quanto avrei dovuto, e in questo sbagliavo. Se qualcuno in posizione di leadership mi faceva una domanda e non conoscevo la risposta, cercavo di confondere invece di semplicemente ammetterlo.
Pensavo che dire: «Non lo so» avrebbe dato l'impressione che non capissi affatto quello che stavo facendo. In realtà, non è affatto così; non esistono persone onniscienti. Quindi, se qualcuno ti chiede qualcosa che non sai, dì semplicemente di no. Questo approccio ha diversi vantaggi:
- È onesto: non inganni chi domanda.
- C'è la possibilità che ti venga spiegato e imparerai qualcosa di nuovo.
- Questo suscita rispetto: non tutti sono in grado di riconoscere di non sapere qualcosa.
Ero ansioso di progredire.
Probabilmente hai sentito il detto: «Prima di correre, impara a camminare». Non è mai stato così attuale come nel campo della programmazione web. Quando sei alle prime armi in un nuovo lavoro, è facile voler prendere subito l'iniziativa e affrontare un grande progetto complesso. Alcuni pensieri si affacciano persino su come accelerare la carriera per guadagnare una promozione al livello successivo!
Le ambizioni sono certamente importanti, ma all'inizio la realtà è che a un junior non verrà data subito la possibilità di affrontare sfide simili. All'inizio della carriera, è probabile che ti vengano assegnati compiti semplici e bug da risolvere. Non è il massimo dell'intrattenimento, ma non si può fare altro. Questo ti permetterà di familiarizzare passo dopo passo con il codice e di imparare tutti i processi. Allo stesso tempo, la tua dirigenza avrà l'opportunità di osservare come ti integri nel team e quali sono le tue migliori capacità.
Il mio errore è stato frustrarmi per questi compiti insignificanti, il che mi distraeva dal lavoro. Abbi pazienza, fai tutto ciò che ti viene chiesto con impegno, e presto ti capiterà qualcosa di più interessante.
Non mi sono integrato nella comunità né ho costruito relazioni.
Gli sviluppatori hanno una comunità fantastica: sono sempre pronti ad aiutare, fornire feedback e anche incoraggiare. La programmazione è un processo complesso e a volte molto impegnativo. Per me, il periodo come junior sarebbe stato più semplice se fin dall'inizio avessi iniziato a comunicare attivamente con i colleghi.
I contatti con la comunità sono anche molto utili per l'autoformazione. Puoi contribuire a progetti open source, studiare il codice degli altri e osservare come i programmatori portano avanti un progetto insieme. Tutte queste sono competenze che puoi utilizzare nel tuo lavoro principale e che ti faranno diventare un buon professionista nel tempo.
Scegli le comunità che ti interessano — alcune opzioni possono essere freeCodeCamp, CodeNewbies, 100DaysOfCode — e integrati! Puoi anche partecipare a meetup locali nella tua città (cerca su meetup.com).
Infine, in questo modo puoi costruire una rete di contatti professionali. In sostanza, i contatti sono semplicemente le persone del tuo settore con cui interagisci. Perché è importante? Beh, supponiamo che tu voglia cambiare lavoro un giorno. Se ti rivolgi ai tuoi contatti, qualcuno potrebbe consigliarti un'opportunità adatta o addirittura raccomandarti al datore di lavoro. Questo ti darà un vantaggio significativo durante il colloquio — qualcuno ha già parlato per te, non sei più 'un altro CV nella pila'.
Questo è tutto, grazie per l'attenzione!
Fonte: habr.com
