Există mai multe moduri în care puteți continua să vă îmbogățiți abilitățile de care aveți nevoie pentru a deveni dezvoltator.

Există programe curriculare liniare care vă învață un pic din toate – cum ar fi programul complet de dezvoltare a stivei Routech.

Și apoi există liste masive de abilități – și uneori liste de resurse – pe care le puteți folosi pentru a „alege propria aventură” prin procesul de învățare.

Una dintre cele mai bune astfel de liste de abilități este A lui Kamran Ahmed Foaia de parcurs pentru dezvoltatori, pe care o actualizează în mod regulat.

Aceasta nu este o listă obișnuită de resurse. Kamran a trasat cu grijă toate abilitățile pe care le consideră esențiale pentru a intra în diferite domenii de dezvoltare.

Am scris despre foaia de parcurs în trecut. Și pentru a sărbători că suntem pe toți la jumătatea anului 2020, voi împărtăși aici toată foaia de parcurs – toți trei.

Așa este – are liste de instrumente și resurse care sunt necesare pentru următoarele căi:

  • Dezvoltare web front end
  • Dezvoltare web back end
  • DevOps (cunoscut și sub numele de „fiabilitatea site-ului” – aceasta este o evoluție a vechiului rol de administrator de sistem)
Foaia de parcurs pentru dezvoltatorii web 2020 Un ghid

Abilitățile de care au nevoie toți dezvoltatorii, indiferent de specializarea lor

Pe lângă aceste căi, Kamran recomandă, de asemenea, tuturor celor care doresc să lucreze ca dezvoltator să învețe următoarele abilități:

Git – Control versiune

Git este un sistem puternic de control al versiunilor care din 2020 este utilizat aproape universal. Dacă nu o știți – da, este legată de GitHub și GitLab și puteți învăța cum să utilizați și aceste instrumente.

Utilizare terminală de bază – Linia de comandă Bash, SSH și alte abilități

Acesta ar putea fi terminalul de pe un Mac, o solicitare Windows DOS sau Bash / ZSH. Rețineți că, indiferent de sistemul de operare pe care îl utilizați, probabil că ar trebui să învățați Linux. Chiar dacă nu îl utilizați pentru laptop / mediu desktop, aproape sigur îl veți folosi pentru servere.

Structuri de date și algoritmi

Curriculumul Routech acoperă aceste detalii. Probabil că veți dori să le învățați rezolvând o mulțime de probleme algoritmice pe Routech, CodeWars, Project Euler sau pe un alt site de foraj. Personal vă recomand să faceți acest lucru fie în JavaScript, fie în Python, dar dacă sunteți pregătit pentru o provocare și aveți mult timp pe mâini, a face acest lucru în C nu ar strica.

Înțelegerea modului în care funcționează webul: HTTPS și API-uri

Există o mulțime de alte concepte pe care le puteți învăța. Vă recomand să lucrați printr-un curs bun de informatică de bază pentru a începe. Iată toate cursurile CS50 de la Harvard conferințe fără anunțuri pe canalul YouTube Routech.

Modele de proiectare, YAGNI, SĂRUT, SOLID

Nu cred că începătorii au nevoie de o înțelegere profundă a acestora, dar nu ar strica.

Modelele de proiectare sunt practic modalități testate de timp pentru a implementa diferite tipuri de sisteme software și structuri de codare. Le puteți învăța treptat pe măsură ce progresați.

În ceea ce privește supa de alfabet, iată ce reprezintă acestea:

  • YAGNI – Ya Ain’t Gonna Need It – Filosofia pe care crezi că va trebui să o scrii majoritatea codului și caracteristicile pe care trebuie să le implementezi se vor dovedi de fapt inutile
  • SĂRUT – Pune-l simplu, prost! – Cu cât îți păstrezi proiectele mai simplu, cu atât viața ta va fi mai ușoară atunci când vine vorba de întreținere.
  • SOLID – Acesta este un mnemonic pentru „Responsabilitate unică, penDeschis – închis, substituție Liskov, segregarea interfeței, inversiunea dependenței “. Da – nu sunt lucruri pentru începători, dar căutați acest lucru dacă sunteți curios.

Foaie de parcurs pentru dezvoltare web front-end

Prima foaie de parcurs a lui Kamran se concentrează pe dezvoltarea web front-end.

Iată foaia de parcurs Front End în întregime:

1612157886 997 Foaia de parcurs pentru dezvoltatorii web 2020 Un ghid

Gândurile mele cu privire la foaia de parcurs Front End

Aceasta este o listă solidă de abilități fundamentale.

În calitate de dezvoltator frontal, veți lucra cu siguranță cu HTML, CSS și JavaScript – o mulțime de JavaScript.

Singurele lucruri care cred că nu sunt necesare aici:

  • Preprocesoare CSS. Acestea sunt necesare, dar CSS însuși a adăugat multe dintre caracteristicile care au făcut ca acești preprocesori să fie atât de utili. Routech îl învață în prezent pe Sass, dar suntem în curs de eliminare treptată.
  • Arhitectură CSS: nu cred că acestea sunt necesare, cu excepția cazului în care proiectarea sistemelor CSS este o parte importantă a activității dvs. de zi cu zi.
  • Un pic de nitpick: TypeScript este o modalitate promițătoare de a reduce bug-urile și codul cu încredere. Adăugăm acest lucru la versiunea 7.0 a curriculumului de bază Routech. Cred că acest lucru ar trebui să fie și mai proeminent pe foaia de parcurs, dar este acolo.
  • Asamblarea web este o opțiune plăcută în opinia mea. Dezvoltatorii încep să facă lucruri interesante, dar va trece ceva timp până când această tehnologie va deveni omniprezentă.

Foaie de parcurs de dezvoltare web Back End

A doua foaie de parcurs a lui Kamran se concentrează pe dezvoltarea de back-end web. Dacă combinați acest lucru cu harta sa front-end, veți obține o cale destul de bună spre a deveni un dezvoltator complet.

Iată întreaga sa foaie de parcurs Back End:

1612157886 161 Foaia de parcurs pentru dezvoltatorii web 2020 Un ghid

Gândurile mele cu privire la foaia de parcurs Back End

Sunt de acord cu tot aici.

Da, ar trebui să învățați baze de date SQL și relaționale

Vreau să fiu de acord cu recomandarea sa de a învăța o bază de date relațională.

Da – bazele de date precum MongoDB și Neo4j pot face multe pentru dvs. și sunt mai potrivite pentru anumite tipuri de aplicații decât bazele de date relaționale.

Dar ar trebui să învățați în continuare SQL și să înțelegeți cum funcționează bazele de date relaționale.

Recomand PostgreSQL (pe care îl folosim pentru mai multe proiecte la Routech), dar alte baze de date relaționale sunt destul de similare.

Iată Routech curs gratuit de 4 ore pe SQL, care vă va învăța elementele de bază.

Și dacă doriți să vă scufundați și mai adânc, iată-ne curs gratuit de 8 ore despre proiectarea bazelor de date relaționale.

Cum să alegeți limbajul de programare pentru dezvoltarea back-end-ului drept

De asemenea, vreau să adaug o notă privind alegerea unei limbi.

Chiar dacă există multe limbi – și puteți face în esență orice cu orice limbă – vă recomand cu tărie să învățați fie Node.js (JavaScript), fie Python ca limbă maternă.

Iată un ghid detaliat cu privire la ce limbaj de programare ar trebui să învățați mai întâi.

Foaia de parcurs DevOps

În cele din urmă, Kamran prezintă modul de a deveni DevOps sau inginer de fiabilitate a site-ului. Aceasta implică lucrul cu o mulțime de servicii cloud și supravegherea infrastructurii.

Iată întreaga sa foaie de parcurs DevOps:

1612157886 397 Foaia de parcurs pentru dezvoltatorii web 2020 Un ghid

Gândurile mele cu privire la foaia de parcurs DevOps

Linux, Linux, Linux.

De asemenea, aș recomanda să lucreze mai întâi ca dezvoltator, apoi treptat să mă specializez în DevOps.

Iată un scurt Introducere de 30 de minute în domeniul DevOps asta ar trebui să vă ofere o idee mai bună dacă DevOps este ceva care vă interesează.

Asta e tot. Ce crezi? A omis Kamran vreo abilitate sau tehnologie esențială? Lasă un comentariu și hai să rezolvăm asta.

De asemenea, dacă aveți resurse care au funcționat foarte bine pentru a învăța aceste abilități, împărtășiți-le mai jos ca un comentariu.

Codificare fericită!

– Quincy