Sunteți un dezvoltator junior care vă începeți cariera în dezvoltarea de software?

Sau un recent absolvent de informatică care a început recent un nou loc de muncă?

Poate un dezvoltator autodidact care se întreabă ce să facă în continuare?

Începerea carierei de dezvoltare software poate fi înfricoșătoare, dar și foarte interesantă.

Cunosc sentimentul, fiindcă am fost acolo și eu. În ultimii 4 ani, am trecut de la dezvoltator junior la dezvoltator principal la un startup SaaS, învățând multe pe parcurs.

Am scris acest ghid cu sfaturile mele de top, pentru a supraviețui nu numai pentru a depune eforturi în primul dvs. an de dezvoltator junior.

Este în regulă să ai lacune în cunoștințele tale

Diplomele universitare, codarea taberelor de pornire și cursurile online fac o treabă excelentă în a vă învăța cum să codificați.

Cu toate acestea, adevărul este că în lumea reală a dezvoltării de software există ceva mai mult decât scrierea codului. Va trebui să înțelegeți:

  • Ce tehnologii sunt cele mai bune pentru diferite probleme
  • Cod scris de alte persoane
  • Proiectați modele și cele mai bune practici
  • Cum se testează codul
  • CI / CD, controlul sursei și strategii de ramificare
  • Ciclul de viață al dezvoltării software-ului și diferite metodologii
  • Lucrul nu numai cu echipa dvs., ci și cu alte echipe, conducere și clienți

… ca să numesc câteva lucruri.

Este posibil să știți deja unele dintre aceste lucruri sau este posibil să nu fi auzit niciodată de vreunul dintre acestea. Și asta e OK. Sunteți acolo ca dezvoltator de software junior, managerul dvs. și colegii dvs. de echipă știu acest lucru.

Deci, vor exista lacune în cunoștințele tale. Fiecare dezvoltator le are! Nu vă simțiți copleșiți dacă totul nu are sens imediat.

De fapt, o parte a frumuseții de a fi dezvoltator de software este că tehnologia se schimbă întotdeauna. Vom învăța întotdeauna, indiferent de la ce nivel ne aflăm.

Întrebările sunt bune – la fel și cererea de ajutor

Ai prima ta sarcină, te entuziasmezi și te scufunzi direct. Dar apoi … ești blocat. Codul dvs. nu funcționează așa cum vă așteptați și tot ce trebuie să treceți este un mesaj de eroare ciudat și confuz.

Stumped, te gândești să ceri ajutor unuia dintre ceilalți dezvoltatori din echipa ta, dar te gândești:

„Ce se întâmplă dacă ei cred că sunt prost? sau că nu pot codifica? și să râzi de mine ?! ”

Dar, în realitate, asta nu se va întâmpla niciodată. Ce vor de fapt cred că este:

„OK, voi arunca o privire rapidă și voi vedea dacă vă pot ajuta. Ah! Da, am mai întâlnit această problemă, pe care o puteți folosi someMethod () din somePackage () pentru a-l repara. ”

Care nu este atât de rău, nu?

Echipa dvs. este acolo pentru a vă sprijini, mai ales în primele părți ale carierei, așa că cereți-le ajutor.

La fel, dacă nu înțelegeți ceva, puneți întrebări. Încă pun multe întrebări în fiecare zi! Nu există o întrebare stupidă. Echipa ta ar prefera să te ajute în loc să te uiți la ecran cu confuzie pentru cea mai mare parte a zilei.

Recenziile de coduri sunt prietenul tău

Nu voi uita niciodată prima mea recenzie de cod ca parte a primului meu job de dezvoltator junior. Codul meu a fost examinat de un dezvoltator senior cu experiență. La vremea respectivă, am găsit acest nerv. Și, desigur, au fost mai multe comentarii de la el decât aș putea conta!

Dar, în retrospectivă, acesta a fost un lucru bun.

Revizuirile codurilor nu sunt o etapă de critică, ci de învățare și de feedback din toate părțile.

Dezvoltatorul principal s-a așezat cu mine și mi-a explicat ce înseamnă fiecare dintre comentarii și, de asemenea, de ce le făcuse. Inutil să spun că am învățat multe. Așadar, atunci când codul dvs. este examinat, nu uitați că orice feedback vă ajută să învățați și să vă îmbunătățiți ca dezvoltator de software.

La fel, când veți revizui codul pentru alte persoane, veți putea vedea cum diferiții oameni abordează diferite probleme. Îi vei ajuta chiar să se îmbunătățească făcându-ți propriile sugestii!

Descompuneți-l și mai rupeți-l

Ok, deci aveți prima sarcină reală, în funcție de dimensiunea sarcinii, s-ar putea să vă simțiți un pic copleșiți:

„De unde încep? Cred că voi începe să fac X, dar ce-i cu Y? Dar dacă fac Y, există A, B și C… ce se întâmplă din nou cu X ?! ”

Nu vă faceți griji că am fost cu toții acolo. Este ușor să te pierzi în proverbiala gaură de iepure atunci când încerci să rezolvi o problemă. Data viitoare când aveți o mare problemă de rezolvat, încercați să vă amintiți acest citat,

„Cum mănânci un elefant? O mușcătură pe rând. ”

Cu alte cuvinte, face o sarcină care pare imposibilă mai ușor de gestionat prin împărțirea ei în sarcini mai mici.

Deci, cum faci asta?

Înainte de a scrie orice cod, încercați să scrieți pașii în engleză simplă (sau limba dorită). Să luăm un exemplu.

Cum turnați un pahar cu apă?

O abordare engleză simplă ar fi

  1. Deschide dulapul
  2. Ia un pahar
  3. Puneți paharul sub robinet
  4. Porniți robinetul
  5. Când paharul este plin, închideți robinetul
  6. Scoateți sticla de sub robinet

Scriind pașii, este mai ușor să vizualizați fiecare parte a problemei și să veniți cu o soluție pentru fiecare pas.

Nu te complica

O greșeală obișnuită pe care o fac mulți dezvoltatori junior (inclusiv eu când am început) este să încerc să reinventez roata.

Ar putea părea impresionant să rezolvi o problemă folosind o tehnică super-fantezistă în codul tău.

Dar acest lucru provoacă alte probleme:

  • Codul care este complet diferit de modul în care funcționează părți similare ale sistemului este mai greu de întreținut
  • Codul dvs. poate deveni mai detaliat decât trebuie și va exista un risc crescut de erori
  • Este posibil să vă dureze mai mult pentru a vă finaliza sarcina

Deci, cum anume te simți nu te complica?

  1. Fă-o să mearga. Nu vă gândiți prea mult și faceți tot ceea ce vă spune intestinul pentru ca codul dvs. să funcționeze
  2. Refactor. Acum că codul dvs. funcționează, este timpul să refactorizați. Faceți codul dvs. ușor de citit denumind bine lucrurile și folosind formatarea corectă. Mai multe despre acest lucru în „Aflați cum să scrieți cod curat” de mai jos
  3. Mărește viteza. După ce ați terminat refactorizarea, s-ar putea să observați blocaje în performanța codului dvs. Acum este momentul să-l optimizăm. Fii precaut să nu cazi prea devreme în capcana supra-optimizării! Faceți acest lucru numai dacă aveți nevoie.

SFAT DE BONUS. Luați în considerare scrierea unor teste nereușite înainte de a scrie orice cod. Aceasta se numește Test Driven Development. Nu numai că acest lucru vă va oferi o acoperire bună a testelor, dar vă va ajuta să vă gândiți la structura codului dvs.

Aflați cum să scrieți un cod curat

Stăpânirea codului curat vă va face să vă distingeți ca dezvoltator de software.

Deci, la ce ne referim mai exact prin Clean Code?

  • Urmează principiile SOLID
  • Este testabil și poate fi întreținut
  • Este ușor de citit și de urmărit

Cu alte cuvinte:

Orice prost poate scrie cod pe care un computer îl poate înțelege. Programatorii buni scriu cod pe care oamenii îl pot înțelege. – Martin Fowler

Nu voi intra în prea multe detalii aici, cum ar fi cartea, Cod curat: un manual de artizanat software agil de Robert C Martin va oferi o perspectivă mult mai profundă asupra acestui domeniu. Dacă sunteți serios în ceea ce privește scrierea unui cod curat și eliminarea nivelului de dezvoltator junior, vă recomand cu tărie această carte.

Scrierea unui cod curat arată că sunteți pasionat de ceea ce faceți și că puteți crea software de încredere care poate fi întreținut. Ca să nu mai vorbim de faptul că vei face viața un pic mai ușoară pentru următoarea persoană care vine pentru a adăuga la codul tău.

„Există o bibliotecă pentru asta”

Ați spus vreodată unui prieten despre o problemă pe care o întâmpinați și acesta răspunde cu „Da, există o aplicație pentru asta”?

Dezvoltarea software-ului este cam cam așa.

Există deja o mulțime de răspunsuri la problemele pe care încercați să le rezolvați. Deci, atunci când încercați să finalizați o sarcină, verificați dacă altcineva a rezolvat deja problema.

Puteți face acest lucru prin:

  • Căutați pachete și biblioteci existente
  • Navigând pe site-uri precum GitHub și StackOverflow pentru soluții similare la problema dvs.

Ține-o exact acolo! Acest lucru nu vă dă frâu liber pentru a copia și lipi codul fără să vă gândiți. Dacă folosiți codul altcuiva ca exemplu, este important să înțelegeți ce codul lor merge și De ce.

  • De ce folosește un anumit model de design?
  • De ce este scris într-o anumită limbă? (Node.js vs Python de exemplu)
  • Care sunt dezavantajele? Va funcționa cu ta baza de cod curentă?

Dacă nu sunteți sigur, puteți solicita cuiva îndrumare. Căutarea unui răspuns pe Google este o abordare obișnuită pentru rezolvarea sarcinilor de codare. Deci, nu vă fie teamă să vă adresați colegilor de echipă și să spuneți:

„Mă gândesc să folosesc această bibliotecă X sau acest pachet Y, am văzut câteva exemple aici, ce crezi?”

Acest lucru nu numai că va arăta că sunteți proactiv, ci va provoca și conversații / dezbateri din partea echipei. S-ar putea să fi descoperit ceva minunat despre care nimeni altcineva nu știa încă!

Aflați cum să citiți codul

Cu toții am văzut acele filme. Cei în care un hacker tastează rapid pe măsură ce paginile de cod derulează în jos monitoarele din fața lor.

În lumea reală, dezvoltatorii petrec mai mult timp citind cod decât de fapt scris cod.

Când adăugați funcții noi sau remediați defectele, va trebui să înțelegeți baza de cod curentă la care lucrați. Cum faci acest lucru? Citeste Citeste citeste!

Citirea codului este, de asemenea, o tehnică benefică de învățare. Citirea codului existent vă permite să vedeți cum au dezvoltat alții o anumită caracteristică.

Lucruri de urmărit:

  • Utilizarea modelelor de design
  • Denumirea metodelor, claselor și variabilelor
  • Utilizarea comentariilor
  • Cum se structurează fișierele de proiect
  • Utilizarea testelor și modul în care acestea sunt structurate

Deci, unde găsiți codul de citit?

  • Depozitele din sursa dvs. controlează la locul de muncă
  • Proiecte pe GitHub
  • Citiți răspunsuri / întrebări pe StackOverflow
  • Site-uri web cu coduri precum codewars.com, care arată răspunsurile la provocări

A se distra!

Dacă îndepărtați un lucru de la acest articol, lăsați-l să fie acesta – este important să vă distrați. Bucurați-vă de scrierea codului, rezolvarea problemelor și continuarea învățării. Sunteți la începutul unei cariere interesante, așa că stați pe spate și bucurați-vă de plimbare!

SFATURI DE BONUS

  • Învață lingo-ul. Noi dezvoltatorii avem propriul nostru limbaj amuzant („crearea unei ramuri” nu are nimic de-a face cu copacii!) Așa că asigurați-vă că înțelegeți termenii cheie
  • Cunoașteți IDE-ul dvs. Aflați tastele rapide, comenzile rapide și personalizați-le până când vă simțiți confortabil. Acest lucru vă va crește productivitatea.
  • Lucrul la bug-uri este o modalitate excelentă de a afla despre baza de cod. Deci, nu vă fie frică să le ridicați!
  • Aduceți un caiet, ascultați cu intenție și scrieți totul.
  • Asumă-ți câteva proiecte secundare în timpul tău liber. Este o modalitate excelentă de a învăța diferite tehnologii pe care nu le înveți la locul de muncă de zi cu zi și îți va stimula CV-ul.
  • Implicarea în evenimente de lucru este o modalitate excelentă de a vă cunoaște colegii. De ce să nu-l organizezi singur?

Mulțumesc pentru lectură!

În prezent, creez o grămadă de ghiduri, articole și cursuri video pentru a vă ajuta pe parcursul călătoriei dvs. spre dezvoltarea web. Dacă doriți să faceți parte din aceasta, asigurați-vă că vă alăturați listei de corespondență la adresa chrisblakely.dev!