2020. gada tīmekļa izstrādātāja ceļvedis - vizuāls ceļvedis, kā kļūt par priekšgala, aizmugures vai DevOps izstrādātāju

Ir daudz veidu, kā izvēlēties prasmes, kas nepieciešamas, lai kļūtu par izstrādātāju.

Ir lineāras mācību programmas, kas jums māca mazliet visu, piemēram, freeCodeCamp pilnas kaudzes izstrādes mācību programmas.

Un tad ir plaši prasmju saraksti - un dažreiz arī resursu saraksti - kurus varat izmantot, lai mācību procesā "izvēlētos pats savu piedzīvojumu".

Viens no labākajiem šādiem prasmju sarakstiem ir Kamrana Ahmeda izstrādātāja ceļvedis, kuru viņš regulāri atjaunina.

Šis nav parasts resursu saraksts. Kamrans ir rūpīgi izplānojis visas prasmes, kuras viņš uzskata par būtiskām, lai ielauztos dažādās attīstības jomās.

Par viņa ceļvedi esmu rakstījis agrāk. Lai atzīmētu, ka mēs visi esam ceļā uz 2020. gadu, es šeit dalīšos ar visu viņa ceļvedi - visiem trim.

Pareizi - viņam ir rīku un resursu saraksti, kas nepieciešami šādiem ceļiem:

  • Priekšējā tīmekļa izstrāde
  • Aizmugurējā tīmekļa izstrāde
  • DevOps (pazīstams arī kā "vietnes uzticamība" - tā ir sava veida vecās sistēmas administratora lomas attīstība)

Prasmes, kas nepieciešamas visiem izstrādātājiem neatkarīgi no viņu specializācijas

Papildus šiem ceļiem Kamrans visiem, kas vēlas strādāt kā izstrādātājs, arī iesaka apgūt šādas prasmes:

Git - versiju vadība

Git ir spēcīga versiju kontroles sistēma, kas no 2020. gada tiek izmantota gandrīz universāli. Ja jūs to nezināt - jā, tas ir saistīts ar GitHub un GitLab, un jūs varat arī iemācīties izmantot šos rīkus.

Pamata termināla lietošana - Bash komandrinda, SSH un citas prasmes

Tas varētu būt terminālis Mac datorā, Windows DOS uzvedne vai Bash / ZSH. Ņemiet vērā, ka neatkarīgi no izmantotās operētājsistēmas, iespējams, jums vajadzētu iemācīties Linux. Pat ja jūs to neizmantojat klēpjdatora / darbvirsmas videi, gandrīz noteikti izmantosiet to serveriem.

Datu struktūras un algoritmi

FreeCodeCamp mācību programma tos padziļināti aptver. Jūs, iespējams, vēlēsities tos iemācīties, atrisinot daudz algoritmu problēmu freeCodeCamp, CodeWars, Project Euler vai citā urbšanas vietnē. Es personīgi iesaku to izdarīt vai nu JavaScript, vai Python, taču, ja jūs esat izaicinājums un jums ir daudz laika uz rokām, darot to C, tas nekaitētu.

Izpratne par tīmekļa darbību: HTTPS un API

Jūs varat uzzināt daudz citu jēdzienu. Lai sāktu darbu, iesaku iziet labu sākuma līmeņa datorzinātņu kursu. Šeit ir visas Hārvardas CS50 kursu lekcijas bez reklāmām freeCodeCamp YouTube kanālā.

Dizaina raksti, YAGNI, KISS, CIETI

Es nedomāju, ka iesācējiem ir nepieciešama dziļa izpratne par šiem jautājumiem, taču tas nekaitētu.

Dizaina modeļi galvenokārt ir laika pārbaudīti veidi, kā ieviest dažāda veida programmatūras sistēmas un kodēšanas struktūras. Tos progresējot var apgūt pakāpeniski.

Kas attiecas uz alfabēta zupu, lūk, ko tie nozīmē:

  • YAGNI - jums tas nebūs vajadzīgs - filozofija, ka lielākā daļa koda, kas, jūsuprāt, būs jāraksta, un funkcijas, kas jums jāievieš, faktiski izrādīsies nevajadzīgas
  • KISS - Saglabājiet to vienkārši, dumjš! - Jo vienkāršāk jūs glabājat savus projektus, jo vieglāka būs jūsu uzturēšana.
  • Ciets - tas ir mnemonisks priekšrakstam " Viena atbildība," Atvērt - slēgta, Liskova aizstāšana, Interfeisa segregācija, Atkarības inversija ". Jā - ne iesācēju lietas, bet izpētiet to, ja vēlaties zināt.

Priekšējā tīmekļa izstrādes ceļvedis

Pirmajā Kamrana ceļvedī galvenā uzmanība ir pievērsta tīmekļa vietnes izstrādei.

Šis ir viņa kopējais ceļvedis kopumā:

Manas domas par priekšgala ceļvedi

Šis ir pamatprasmju pamatots saraksts.

Kā priekšējās daļas izstrādātājs jūs noteikti strādājat ar HTML, CSS un JavaScript - daudz un daudz JavaScript.

Vienīgās lietas, kuras, manuprāt, šeit nav vajadzīgas:

  • CSS priekšapstrādātāji. Tie ir nepieciešami, taču pati CSS ir pievienojusi daudzas funkcijas, kas šos priekšapstrādātājus padarīja tik noderīgus. freeCodeCamp šobrīd māca Sassu, bet mēs arī to pakāpeniski pārtraucam.
  • CSS arhitektūra: Es nedomāju, ka tie ir nepieciešami, ja vien CSS sistēmu projektēšana nav liela daļa no jūsu ikdienas darba.
  • Mazliet nitpick: TypeScript ir daudzsološs veids, kā droši samazināt kļūdas un kodu. Mēs to pievienojam freeCodeCamp pamatprogrammas 7.0 versijai. Es domāju, ka tam vajadzētu būt vēl pamanāmākam ceļvedī, bet tas tur ir.
  • Tīmekļa asambleja, manuprāt, ir jauka. Izstrādātāji sāk ar to darīt aizraujošas lietas, taču paies laiks, līdz šī tehnoloģija patiešām kļūs visuresoša.

Aizmugurējā tīmekļa izstrādes ceļvedis

Kamrana otrais ceļvedis koncentrējas uz aizmugures tīmekļa izstrādi. Ja jūs to apvienojat ar viņa priekšgala karti, jūs iegūstat diezgan labu ceļu, lai kļūtu par pilnas kaudzes izstrādātāju.

Šis ir viss viņa aizmugures ceļvedis:

Manas domas par aizmugures ceļvedi

Es šeit piekrītu visam.

Jā, jums vajadzētu iemācīties SQL un relāciju datu bāzes

Es gribu stingri piekrist viņa ieteikumam, ka jūs apgūstat relāciju datu bāzi.

Jā - tādas datu bāzes kā MongoDB un Neo4j var daudz darīt jūsu labā, un tās ir labāk piemērotas noteikta veida lietojumprogrammām nekā relāciju datu bāzes.

Bet jums tomēr vajadzētu iemācīties SQL un saprast, kā darbojas relāciju datu bāzes.

Es iesaku PostgreSQL (kuru mēs izmantojam vairākiem projektiem freeCodeCamp), taču citas relāciju datu bāzes ir diezgan līdzīgas.

Šeit ir freeCodeCamp bezmaksas 4 stundu kurss par SQL, kas iemācīs pamatus.

Un, ja vēlaties ienirt vēl dziļāk, šeit ir mūsu bezmaksas 8 stundu kurss par relāciju datu bāzes dizainu.

Kā izvēlēties pareizo aizmugures izstrādes programmēšanas valodu

Es arī vēlos pievienot piezīmi par valodas izvēli.

Pat ja ir daudz valodu - un jūs varat būtībā izdarīt jebko ar jebkuru valodu - es ļoti iesaku iemācīties vai nu Node.js (JavaScript), vai Python kā pirmo valodu.

Šeit ir detalizēts ceļvedis, kurā programmēšanas valodā vispirms vajadzētu mācīties.

DevOps ceļvedis

Visbeidzot, Kamrans apraksta, kā kļūt par DevOps vai vietnes uzticamības inženieri. Tas ietver darbu ar daudziem mākoņpakalpojumiem un infrastruktūras uzraudzību.

Šeit ir viss viņa DevOps ceļvedis:

Manas domas par DevOps ceļvedi

Linux, Linux, Linux.

Es iesaku vispirms strādāt par izstrādātāju, pēc tam pakāpeniski specializēties DevOps.

Šeit ir ātrs 30 minūšu ilgs ievads DevOps jomā, kas ļautu labāk izprast, vai DevOps ir kaut kas jūs interesējošs.

Tas ir viss. Ko tu domā? Vai Kamrans neatstāja kādas būtiskas prasmes vai tehnoloģijas? Atstājiet komentāru un izjauksim to.

Turklāt, ja jums ir kādi resursi, kas ir ļoti veiksmīgi darbojušies, apgūstot šīs prasmes, dalieties tajos kā komentārs.

Priecīgu kodēšanu!

- Kvinsija