de Syeda Aimen Batool

Cum lucrez pentru a-mi depăși luptele ca dezvoltator junior

Cum lucrez pentru a mi depasi luptele ca dezvoltator junior
Fotografie de Stas Aki pe Unsplash

Cred că celălalt nume pentru codificare este „lupta”. Și dacă sunteți un începător sau un dezvoltator junior, această luptă este adesea înmulțită cu 100. Învățarea codificării, găsirea resurselor potrivite, realizarea unui portofoliu, vânarea unui stagiu sau a unui loc de muncă junior, și apoi lucrul la un proiect din viața reală – totul poate fi o luptă.

Dar lucrul bun al luptei este că înveți și ieși din zona ta de confort pentru a experimenta lucruri noi și a implementa idei noi, în cele din urmă lustruindu-te pentru a fi o versiune mai bună a ta.

În industria tehnologiei, există o mulțime de povești de succes care prezintă o lungă călătorie de luptă și învățare. Totul pare fascinant din exterior. În special pentru dezvoltatorii juniori, colegii lor superiori și mentorii sunt cei mai buni oameni care vin cu o logică excelentă și îi uimesc cu modurile lor uimitoare de a scrie cod.

Dar când ne apropiem și vedem lucrurile clar, ne dăm seama că toată lumea trebuie să facă față provocărilor, toată lumea se blochează cu erori și erori. Dar, prin timp și experiență, vedem că ei doar se blochează la provocări mai mari și complexe decât noi.

Permiteți-mi să vă împărtășesc cele două tweet-uri preferate de la două persoane de la care am învățat multe. Aceste tweet-uri mă fac întotdeauna să zâmbesc și să mă motiveze. Îmi dau seama că poate suntem cu toții în aceeași barcă și împărtășim aceeași viziune pentru aceeași destinație.

Cum lucrez pentru a mi depasi luptele ca dezvoltator junior
Acesta este MPJ unul dintre YouTuberii mei tehnici preferați

Viața m-a lăsat să văd acest tweet pe vremea când eram un luptător și încercam din greu să îmi aduc JavaScript în creier. A fost un concept îngrozitor în urmă cu câteva luni. Și mi-au trebuit în jur de 10 luni să învăț, să explorez, să pun în aplicare lucruri și să obțin în cele din urmă un stagiu plătit la distanță.

În faza de învățare, am fost mereu în căutarea aprecierii și recunoașterii că voi deveni vreodată un bun programator. Am vrut să știu dacă programarea a fost sau nu chestia mea sau dacă aș putea vreodată să scriu logică bună și cod, așa cum fac alți mari programatori.

Blocarea pe probleme mici și imposibilitatea de a repara rapid lucrurile mă făceau să mă tulbure și să mă frustreze. Dar a vedea că unele vedete de programare de top sunt sincere și le arată adepților lor că nu sunt perfecte m-a ajutat să cred în mine.

Iar cel de-al doilea tweet preferat al meu în timpul luptei mele a fost de la unul dintre cei mai buni dezvoltatori și autorul seriei You Don’t Know JS, Kyle Simpson.

1611514991 271 Cum lucrez pentru a mi depasi luptele ca dezvoltator junior

Haah! Te simți bine? Nu sunt sigur de tine, dar acest lucru m-a făcut să mă simt un pic mai relaxat măcar de ceva timp.

După ce am împărtășit povestea mea despre învățare și nu am câștigat articolul meu anterior, Astăzi voi împărtăși o altă fază a călătoriei mele tehnice: după o lungă luptă de a obține un loc de muncă, luptându-mă să supraviețuiesc în acel loc de muncă.

Un pic de recapitulare

Recent am început un stagiu la distanță la Outreachy. Lucrez cu Mozilla la tabloul de bord pentru sănătate Firefox pentru următoarele trei luni. Mi-am dat seama că odată cu învățarea și experiența, temerile și nesiguranțele mele legate de carieră s-au schimbat, de asemenea. Acest articol face parte din misiunea mea de stagiu – de a scrie temerile și provocările cu care m-am confruntat în primele câteva săptămâni de stagiu. Sper că îi ajută pe noii veniți și pe acei dezvoltatori junior care se luptă să intre în cursă sau să supraviețuiască și să le anunțe că toată lumea se luptă și că este necesar pentru învățare.

Eram emoționat și cam nervos să încep prima mea săptămână la Mozilla cu totul gata cu o seară înainte. dar nu am văzut un lucru neașteptat venind: o lipsă de energie electrică lungă de nouă ore la mine. Nu am putut să comunic cu mentorii și să încep ceva la locul de muncă.

Din fericire, a revenit la ora 17:00 și am avut o întâlnire de primire foarte primitoare cu semenii Outreachy și mentorii de la Mozilla. Lucrurile au fost destul de interesante și noi pentru mine, cum ar fi întâlnirea cu oameni din întreaga lume și comunicarea în engleză timp de aproape o oră. I-am întâlnit pe mentorii mei Armen și Dustin pentru prima dată și a fost bine să-i văd. Se simțea total diferit de e-mailuri și mesaje.

Mentorii mei aveau deja un trello ca tablă organizat la GitHub cu câteva probleme plasate în funcție de complexitatea lor. Începând a doua zi, a trebuit să aleg probleme și să încep să lucrez la ele. După ce am început să lucrez la aceste probleme, mi-am dat seama că petrecerea abia a început. Luptele anterioare au fost doar o remorcă.

Totul este despre înțelegerea codului.

Sentimentele mele în timpul aplicării pentru stagiu erau total diferite de sentimentele când am început. Acum, teama de a nu obține această oportunitate a fost înlocuită cu teama de a nu merge bine și de a ajunge să o piardă.

Și a fost foarte greu când am fost blocat cu primul meu număr, care a fost să personalizez sfatul de instrumente graphJS în funcție de cerințe. La început, am crezut că voi putea face asta cu ușurință, dar mi-a dat într-adevăr o perioadă grea. Nu am putut găsi soluția timp de două zile.

Am pus câteva întrebări de la mentori și încercam tot posibilul să o rezolv. Dar, pentru o clipă, am crezut că nu voi putea rezolva problema și asta a fost deprimant.

În acel moment, mentorii mei nu mă presau. În schimb, mi-au dat încrederea și ideea că este complet în regulă să te lupți cu o nouă bază de cod mare. Uneori este nevoie de timp pentru a înțelege lucrurile și codul scris de alții, așa că nu ar trebui să fim greu cu noi înșine. Trebuie să ne luăm timpul pentru a înțelege lucruri noi.

După ce mi-am dat seama că mă străduiam să înțeleg baza codului, cu sute de funcții și fișiere, mentorul meu mi-a spus despre Tehnica rațelor din cauciuc și mi-a cerut să explic codul raței de cauciuc. Acest lucru mă va ajuta să înțeleg mai bine codul și ceea ce se întâmpla în interior.

„Este bine să ne blocăm, cu toții ne blocăm cu probleme și erori. Cu anii de experiență ne blocăm mai puțin, dar ne blocăm totuși. ” – Armen Zambrano

Iată deci constatările mele

Știind de unde să începi este jumătate din luptă

De cele mai multe ori cunoașteți soluția și poate logica și cum să o implementați, dar nu știți DE ÎNCEPUT! Cu o mulțime de fișiere de cod și funcții, vă confundați cu privire la locul în care ar trebui să fie plasată această soluție pentru a funcționa bine. Mentorul meu Dustin Mitchell mi-a sugerat să folosesc comentarii pentru a înțelege codul și funcțiile, în plus față de propria mea tehnică de a consola.log (tot ce vine în cale).

După primul număr, lucrurile au mers puțin mai ușor, dar au fost încă provocatoare. M-am blocat din nou pe o problemă relativ complexă și a durat câteva zile să mă rezolv. Dar, din fericire, mentorii noștri și oamenii din open source sunt destul de amabili să înțeleagă că noi, dezvoltatorii juniori, ne luptăm uneori – și nu ne fac să ne simțim rău pentru asta. Avem nevoie de mai mulți oameni ca aceștia în tehnologie, care sunt dispuși să ajute și să îndrume, care să ofere juniorilor cele mai bune resurse pentru a învăța și a nu arde.

Combina conflictele rănite!

Ah!! Dacă sunteți începător și nou în OpenSource, vreau să vă avertizez despre conflictele de fuziune. Te doare grav când nu știi cum să le rezolvi, ai petrecut ore întregi găsind soluția unei probleme și ajungi să-ți pierzi codul în încercarea de a remedia conflictul de fuziune.

Am întâmpinat niște conflicte și m-am încurcat cu câteva angajamente git. A fost enervant și înfricoșător. Dar nu aș fi învățat câteva concepte noi în fuziunea, comiterea și rezolvarea conflictelor git dacă nu aș fi făcut acest lucru. Mulțumesc Sarah Clements și Dustin Mitchell pentru că m-au ajutat să ies din capcana care fuzionează.

Recunoașterea propriului cod este o luptă

Acest lucru este valabil pentru aproape toată lumea și este cu adevărat amuzant faptul că, chiar și după câteva zile, nu reușim să recunoaștem propriul cod, scris de mâinile noastre. După rezolvarea unei erori, am încercat să rezolv o eroare similară și m-am întors la cea anterioară pentru referință. Și am fost ca … cum de am scris acest cod și de ce naiba funcționează ?!

Codul de lucru poate fi la fel de confuz ca un cod care nu funcționează. În majoritatea cazurilor, codul de lucru ne oferă o perioadă mai dificilă. Și, uneori, după ce ați revenit la vechiul cod, îl regândiți și puteți veni cu o soluție mai bună. Deci, nu trebuie să vă faceți griji sau să vă simțiți rău dacă nu înțelegeți propriul cod sau codul altora. Poate ești aproape să înveți ceva nou.

Spune-mi cum să supraviețuiesc

Pe baza primelor mele săptămâni de stagiar, am câteva sugestii pentru mine (și pentru alții) pentru restul stagiului. Și cele mai multe dintre aceste sugestii provin de la mentorii și oamenii minunați pe care i-am întâlnit la Mozilla în timpul stagiului. Îi împărtășesc cu voi, astfel încât poate să vă ajute și ei.

1611514991 91 Cum lucrez pentru a mi depasi luptele ca dezvoltator junior
Fotografie de Darran Shen pe Unsplash

Nu luați lucrurile personal și concentrați-vă asupra învățării

Această sugestie este de Sarah și eu îl secundez. Este greu să nu iei lucrurile personal și să te simți insultat atunci când un dev senior sau un mentor face o corecție sau o sugestie. Este și mai greu atunci când lucrezi în open source și se află într-o platformă publică.

Dar vă recomand să vă concentrați asupra acestui punct și să aveți o atitudine de învățare. Nu veți putea învăța concepte noi și bune practici de codificare decât dacă aveți o atitudine umilă și de învățare. Lasă-ți tot ego-ul deoparte și concentrează-te pe învățarea din experiența și cunoștințele altora.

Absorbați cantitatea maximă de informații și întrebați despre lucruri noi

Ține ochii și urechile deschise și încearcă să absoarbă cantitatea maximă de informații și să ai sete să înveți lucruri noi. Nu vă fie teamă să încercați lucruri noi și diferite care nu se află în zona dvs. de confort. Uneori ne simțim confortabili cu modul nostru de a gândi și de a scrie cod, dar există câteva bune practici și modele de proiectare de care nu suntem conștienți. Încearcă să înveți cât poți. Acest lucru este posibil numai dacă urmați sfaturile menționate la primul punct.

Faceți-vă temele înainte de a pune întrebări

A pune întrebări nu este un lucru rău și mai ales atunci când ești blocat. Dar este o bună practică să vă faceți temele și diligența mai întâi și să veniți cu câteva întrebări valide sau o soluție. Apoi, puteți obține o recenzie de la mentor sau de la seniori.

Acest lucru vă va ajuta să vă dați seama cum să faceți lucrurile pe cont propriu. De asemenea, mentorii dvs. nu vor simți că nu depuneți eforturi înainte de a întreba. Oamenii cu sursă deschisă și cu funcții superioare sunt adesea drăguți și dispuși să vă ajute dacă veniți cu o întrebare validă.

Nu te compara cu alții

Nu te tot compara cu tine. Vă va afecta performanța și veți ajunge să vă pierdeți încrederea. Amintiți-vă, fiecare maestru a fost odată un începător. Toată lumea se luptă și chiar și seniori tăi au fost, de asemenea, la locul tău la început. Ei sunt familiarizați cu durerea și provocările prin care trece un dezvoltator junior. Nimeni nu devine stăpân într-o singură noapte – există un proces și toată lumea trebuie să treacă prin acest proces. Așteptați să vă vină timpul și, până atunci, lucrați din greu.

Amintiți-vă, fiecare dezvoltator junior se află în aceeași barcă în care sunteți – nu sunteți o excepție. Ceea ce studiem în facultate este foarte diferit de ceea ce trebuie să implementăm în viața reală și trebuie să învățăm o mulțime de lucruri pentru a fi un dezvoltator competent în industrie. Și fiecare senior a fost la tine și este familiarizat cu durerea în care te afli. Trebuie doar să te concentrezi și să ai o atitudine de învățare pentru a continua să înveți și să crești în continuare.

Plănuiesc să împărtășesc mai multe lucruri pe baza experienței și învățării mele. Acesta este al 2-lea articol din seria după care scriu obținând stagiul meu la distanță, plătit prin Outreachy.

Simțiți-vă liber să ne împărtășiți gândurile @aimenbatool.