Otto errori che ho commesso quando ero un junior

All'inizio della carriera di uno sviluppatore si prova spesso un certo timore: ci si trovano di fronte problemi sconosciuti, bisogna imparare molto e si devono prendere decisioni difficili. E in alcuni casi possiamo sbagliare in queste decisioni. È del tutto naturale, e non vale la pena di colpevolizzarsi per questo. Ma quello che conviene fare è ricordare la propria esperienza per il futuro. Io sono uno sviluppatore senior che in passato ha commesso un sacco di errori. Di seguito parlerò degli otto più gravi che ho fatto quando ero ancora un principiante nello sviluppo e spiegherò come avrei potuto evitarli.

Otto errori che ho commesso quando ero un junior

Ho preso il primo lavoro che mi è stato offerto

Quando si impara a scrivere codice da soli o si conclude l'università, ottenere il primo lavoro nel proprio campo diventa uno degli obiettivi principali. Qualcosa come una luce alla fine di un lungo tunnel.

Ma trovare lavoro, nel frattempo, non è facile. Ci sono sempre più persone che si candidano per le posizioni da junior. È necessario redigere un curriculum straordinario, affrontare una serie di colloqui e spesso tutto questo processo si allunga notevolmente. Tenendo conto di tutto questo, non sorprende che qualsiasi offerta di lavoro faccia venire voglia di afferrarla con entrambe le mani.

Eppure, potrebbe rivelarsi una cattiva idea. Il mio primo lavoro era lontano dall'essere ideale, sia dal punto di vista della crescita professionale che del piacere nel lavoro. Gli sviluppatori seguivano il motto "va bene così", e non era consuetudine sforzarsi troppo. Tutti tentavano di scaricare la colpa sugli altri, e spesso dovevo prendere scorciatoie per rispettare scadenze molto serrate. Ma la cosa peggiore è che non ho imparato assolutamente nulla.

Durante i colloqui ignoravo tutti i segnali evidenti, tanto ero affascinato dalla prospettiva di ottenere un lavoro. Se c'erano dei dubbi, svanivano dalla mia mente non appena sentivo che mi prendevano! E inoltre a uno stipendio interessante!

E questo si è rivelato un grande errore.

Il primo lavoro ha un'enorme importanza. Fornisce una visione generale di com'è essere un vero programmatore, e l'esperienza e l'apprendimento che ne ricaverai possono gettare le basi per tutta la tua carriera futura. Ecco perché è fondamentale informarsi a fondo sull'offerta di lavoro e sul datore di lavoro prima di accettare. Esperienze negative, cattivi mentori — questo è esattamente ciò che non ti serve.

  • Cerca informazioni sull'azienda. Visita siti di recensioni, controlla il sito ufficiale, esplora Internet e raccogli feedback. In questo modo potrai capire meglio se l'azienda soddisfa le tue esigenze e obiettivi.
  • Parla con conoscenti. Se qualcuno del tuo giro ha lavorato per questo datore di lavoro o conosce qualcuno nel team, parlane con loro di persona. Scopri cosa è piaciuto, cosa non è piaciuto e come valutano complessivamente l'esperienza.

Non ho posto le domande giuste ai colloqui

Il colloquio è la migliore opportunità per conoscere meglio l'azienda, quindi prepara le domande su ciò che vuoi sapere dai dipendenti. Ecco un paio di esempi:

  • Chiedi del processo di sviluppo (quali metodologie seguono? viene fatto il controllo del codice? quali strategie di branching vengono utilizzate?)
  • Chiedi del testing (quali test vengono eseguiti? ci sono persone dedicate esclusivamente al testing?)
  • Chiedi della cultura aziendale (quanto è informale l'ambiente? ci sono supporti previsti per i junior?)

Non avevo deciso una direzione chiara

Sicuramente, il percorso per diventare uno sviluppatore esperto è piuttosto tortuoso. Oggi c'è la possibilità di scegliere tra molti linguaggi, framework e strumenti. Il mio errore all'inizio della mia carriera è stato quello di cercare di imparare tutto. Paradossalmente, questo ha portato solo al fatto che non sono avanzato in niente di specifico. Prima ho preso in mano Java, poi JQuery, poi sono passato a C#, da lì a C++ ... Invece di scegliere un linguaggio e concentrami su quello, saltavo da una cosa all'altra, semplicemente seguendo l'ispirazione. Posso assicurarti che è un metodo di apprendimento estremamente inefficace.

Avrei ottenuto risultati migliori e sarei progredito più velocemente nella mia carriera, se avessi subito deciso 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 di back-end, di nuovo, prendi un linguaggio e studialo approfonditamente. Non è necessario padroneggiare sia Python, che Java o C#.

Quindi concentrati, decidi una direzione e fai un piano che ti permetta di diventare un professionista nel percorso scelto (ecco una roadmap, che può aiutarti in questo).

Eccellevo nel codice

Ecco, stai preparando un test per dimostrare le tue abilità al tuo futuro datore di lavoro, oppure sei già alle prese con il tuo primo compito nel tuo primo lavoro. Ti impegni al massimo per fare una buona impressione. Qual è il modo migliore per ottenere risultati? Probabilmente dimostrare durante l'esecuzione quella sofisticata tecnica che hai recentemente appreso, giusto?

No. Questo è un grave errore che ho commesso anch'io e che vedo, più spesso di quanto vorrei, nel lavoro di altri junior. È molto comune per loro inventare la ruota o cercare soluzioni complesse nel tentativo di stupire con le loro conoscenze.

Il miglior approccio alla scrittura del codice è espresso nel principio KISS. Puntando alla semplicità, otterrai in output un codice chiaro, con cui sarà facile lavorare in futuro (il developer che ti succederà lo apprezzerà).

Dimenticavo che c'è vita al di fuori del codice

Non "disconnettersi" mai è una cattiva abitudine che ho sviluppato molto presto. Tornando a casa alla fine della giornata, regolarmente portavo con me il laptop aziendale e passavo ore davanti a esso per completare un compito o risolvere un bug, anche se entrambi avrebbero potuto tranquillamente aspettare fino al mattino. Come ci si poteva aspettare, questo regime ha causato stress e mi sono rapidamente bruciato.

La ragione di questo comportamento era in parte legata al mio desiderio di fare tutto il più rapidamente possibile. In realtà, avrei dovuto capire che il lavoro è un processo a lungo termine e, a eccezione di rari casi, le incombenze di oggi possono tranquillamente essere rimandate a domani. È molto importante ogni tanto cambiare prospettiva e ricordare che la vita non si esaurisce nel lavoro: ci sono amici, famiglia, hobby e intrattenimento. Naturalmente, se ti piace rimanere sveglio fino all'alba a lavorare sul codice, vai pure! Ma quando questo non è più divertente, fermati e chiediti se non sia il momento di dedicarti a qualcos'altro. Non stiamo lavorando per il nostro ultimo giorno!

Evitavo di dire: «Non lo so»

Rimanere bloccati nel processo di risoluzione di un problema o nell'esecuzione di un compito è abbastanza comune, anche i senior più esperti ci si imbattono. Quando ero un junior, dicevo «Non lo so» meno frequentemente di quanto avrei dovuto, e questo era un errore. Se qualcuno della direzione mi faceva una domanda e non conoscevo la risposta, cercavo di creare confusione invece di semplicemente ammettere di non sapere.

Mi sembrava che se dicessi: «Non so», la gente penserebbe che non capisco nulla di ciò che faccio. In realtà, non è affatto così, non esistono persone onniscienti. Quindi se ti chiedono qualcosa di cui non sei a conoscenza, dillo e basta. Questa strategia ha diversi vantaggi:

  • È onesto: non inganni chi ti sta chiedendo
  • C'è la possibilità che ti spiegano e quindi impari qualcosa di nuovo
  • Questo suscita rispetto: non tutti sono in grado di ammettere che non sanno qualcosa

Ero impaziente di progredire

Probabilmente hai sentito il detto: «Prima di correre, impara a camminare». Non è mai così attuale come nel campo della programmazione web. Quando inizi per la prima volta come junior, si ha una grande voglia di afferrare il toro per le corna e di tuffarsi subito in un grande e complesso progetto. Passano persino pensieri su come guadagnare rapidamente una promozione al livello successivo!

Le ambizioni sono sicuramente qualcosa di positivo, ma nella pratica nessuno darà a un junior opportunità di quel tipo fin dal principio. All'inizio della carriera, è molto probabile che ti vengano assegnati compiti semplici e bug da correggere. Non è esattamente l'attività più affascinante al mondo, ma non c'è altra scelta. Questo ti permetterà di adattarti gradualmente alla base di codice e di comprendere tutti i processi. Allo stesso tempo, il tuo superiore avrà l'opportunità di vedere come ti integri nel team e cosa riesci a fare meglio.

Il mio errore è stato quello di lamentarmi di queste piccole attività, il che mi distraeva dal lavoro. Fai tesoro della pazienza, svolgi tutto ciò che ti viene chiesto con impegno, e presto ti verrà offerto qualcosa di più interessante.

Non mi sono integrato nella comunità e non ho creato contatti.

Gli sviluppatori hanno una comunità fantastica: sono sempre pronti ad aiutare, offrire feedback e persino incoraggiare. La programmazione è una cosa complessa e a volte può essere molto impegnativa. Per me, il periodo da junior sarebbe stato più semplice se avessi iniziato a comunicare attivamente con i colleghi fin dall'inizio.

Entrare in contatto con la comunità è anche molto utile per l'autoapprendimento. Puoi contribuire a progetti open source, studiare il codice altrui e osservare come i programmatori portano avanti un progetto collettivamente. Tutto questo si traduce in abilità che puoi utilizzare nel tuo lavoro principale e che nel tempo ti faranno diventare un buon professionista.

Scegli le comunità che ti interessano — fra le opzioni posso citare freeCodeCamp, CodeNewbies, 100DaysOfCode — e unisciti! Puoi anche partecipare a meetup locali nella tua città (cerca su meetup.com).

Infine, seguendo questo percorso, potrai costruire una rete di contatti professionali. In sostanza, i contatti sono solo quelle persone del tuo settore con cui interagisci. Perché è utile? Beh, supponi che un giorno tu voglia cambiare lavoro. Se ti rivolgi ai tuoi contatti, qualcuno potrebbe consigliarti un'opportunità adatta o addirittura raccomandarti a un datore di lavoro. Questo ti darà un vantaggio significativo durante il colloquio — qualcuno ha già parlato bene di te, non sei solo "un altro curriculum in mezzo a tanti".

Questo è tutto, grazie per l'attenzione!

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster