Kako sem v 9 mesecih med polnim delom končal celoten učni načrt freeCodeCamp

V preteklem letu sem zaključil celoten učni program freeCodeCamp, medtem ko sem polno delal kot učitelj. V tem članku bom opisal, kako mi je to uspelo. Predvsem kako sem organiziral svoj čas in kakšen dodaten material sem uporabil.

Ozadje

Najprej zadnja zgodba. V kodiranju nisem bil povsem nov. Odraščal sem v majhnem tehnološkem podjetju.

Oče je pred mojim rojstvom ustanovil lastno podjetje, kjer so v tehniki opravljali različne dejavnosti, kot so popravljanje računalnikov, vzpostavljanje internetnih povezav in omrežij za druga podjetja, poučevanje računalniških tečajev in izdelava administrativnih aplikacij za podjetja. Bilo je majhno mesto, zato so bili v bistvu "tehnološki fantje" za celo mesto.

Pisarne podjetja so bile v naši hiši, zato sem dobesedno odraščal med računalniki in ljudmi, ki so jim bili všeč. Že kot otrok sem se začel igrati z Visual Basicom (eden izmed fantov v podjetju me je naučil, kako ga uporabljati), ves prosti čas pa sem preživel na spletu in klepetal s kolegi piflarji.

Ko sem bil star približno 12 let, mi je eden od tistih piflarjev po e-pošti poslal priročnik za spletni razvoj (ogromno datoteko .txt, ki se je v bistvu ukvarjala z HTML-jem) in sem jo uporabil za izdelavo lastne strani za oboževalce. Imel je celo enega tistih kul števcev obiskov.

Gostila sem ga na Geocities, dobila brezplačen kratek URL in ga uvrstila na Yahoo in AltaVista (to sta bila takrat največja).

Po tem se je zgodilo življenje in popolnoma sem opustil idejo, da bi bil programer, saj so okoliščine zahtevale bolj "realen" pristop. Zdaj se ne bom spuščal v podrobnosti, v bistvu pa sem moral opustiti študij in se zaposliti.

Še naprej sem živela svoje življenje. Sestavil sem priložnostno spletno stran za očetove stranke, nato pa se sčasoma odločil, da začnem poučevati angleščino, kar mi je bilo enostavno, in v bistvu pozabil na razvoj spletnih strani. Do leta 2016 to je.

Kako sem se odločil za zamenjavo kariere

Obožujem poučevanje. To je koristen poklic, zanimiv in zabaven. Ima pa svoje slabosti. Na začetku se mi je vse zdelo izziv, a po toliko letih sem začel čutiti, da nimam namena. Da nisem več rasla ali se učila.

Počutil sem se zaljubljen. Kot da je bila moja služba popolnoma enako leto za letom. Ravno sem šel skozi predloge. Prav tako ni ponujal veliko priložnosti za selitev, kar je pozneje zame postalo zelo pomembno.

Leta 2013 sem spoznala moža, naslednje leto pa smo se odpravili na trimesečno potovanje z nahrbtniki v Evropo, kar je povsem drugačna objava v spletnem dnevniku, a v bistvu je bil to zelo majhen proračun in imeli smo izjemno izkušnjo. Všeč nam je bila Evropa in odločili smo se, da se vrnemo na še eno daljše potovanje.

Čas je minil, delali smo še druge stvari, nato pa sem našel Codecademy in se začel igrati z njim ter se poigravati z idejo, da bi postal razvijalec za polni delovni čas. Že imel sem nekaj izkušenj z izdelavo spletnih strani s samo HTML in CSS, vendar brez JavaScript. V spletu sem bral veliko zgodb o uspehu, vendar se mi vseeno ni zdela resnična kariera, niti na dolgi rok.

Medtem smo načrtovali naslednje dolgo potovanje, prihranili denar, načrtovali in tako naprej. Vedno bolj sem delal kot samostojni prevajalec, zelo vpleten v svojo kariero in prevajal kul stvari, kot so romani in poezija. Prišlo je leto 2017 in tokrat smo za dva meseca spet odšli v Evropo.

Tam smo srečali kopico razvijalcev. Bilo je noro. Zdi se, da je vsak kavč deskar, ki smo ga srečali, nekako v IT, bodisi kot vodja programskih izdelkov, razvijalec, preizkuševalec itd. Vsi so nas spodbujali, da se lotimo tehnologije. Takrat smo se že odločili, da se želimo preseliti v Evropo, zato so nam mnogi rekli: »Tu bi lahko našli službo. Tu so povpraševalci po razvijalcih, potrebujemo jih veliko. "

Preden se je potovanje končalo, smo se odločili, da se prijavimo za 2-letno tehnično spričevalo na novoustanovljeni tehniški univerzi blizu našega domačega kraja. Program je bil večinoma Java, zato smo, ko smo se vrnili, začeli tečaj Java v Couseri. Prvi modul je bil pravzaprav tečaj JavaScript, zato smo se z JavaScriptom dejansko takoj povezali.

Medtem ko smo se učili JavaScript, smo čakali na začetek šolskega leta marca 2018. Za Uni je bilo le 50 mest, zato smo se predhodno super posvetili in se naučili. Šli smo, opravljali teste, opravili tečaje, nato pa smo morali počakati, da so se odločili. Med vsemi kandidati smo dobili najvišje ocene, vendar te ocene niso ničesar spremenile. Spoti bi bili dodeljeni s sistemom loterije. Moj mož je vstopil in jaz sem bil izpuščen.

Odločil se je, da se raje uči sam, Java pa ga ne zanima več, ker je bil navezan na JavaScript, zato smo se začeli učiti sami.

Začeli smo s Codecademy, vendar je bil za nas preveč ročen (nismo imeli Premium računov). Nekje smo brali o freeCodeCamp. In začeli smo, sprva zelo počasi (prvo potrdilo mi je vzelo mesece, res je bilo, da je bil na sredini spremenjen učni načrt in sem spustil svoj prenosnik in ga moral popraviti). Ko so se poletne počitnice končale in sem se vrnil k rednemu delu, so se stvari zaostrile.

Delo s polnim delovnim časom in polni tečaj freeCodeCampa

Ni bilo lahko, ne bom lagal. Pomagalo mi je, da večina mojih prijateljev in znancev ne živi v moji bližini, jaz pa živim v majhnem mestu, ki ne ponuja veliko možnosti za zabavo. V tem smislu je bilo programiranje rešilno življenje. Imel sem nekaj zabave in bilo je zasvojeno, tako da sem lahko z njim ubil ure dolgčasa.

Torej, to mi je zelo pomagalo, ko sem se ukvarjal s količino ur, ki sem jih porabil za umsko delo (poučevanje in učenje).

Prvo potrdilo je trajalo mesece, deloma zato, ker sem čakal na vstop v Uni, delno pa tudi zato, ker sem prve tri mesece šolskega leta delal po 10 ur na dan.

Na žalost nisem mogel kar tako zapustiti službe in redno študirati, saj sem moral plačevati račune, zato sem se moral zares dobro spoznati na tri stvari:

  1. Upravljanje časa
  2. Disciplina
  3. Organizacija

Upravljanje časa

Z delom sem začela ob 7. uri zjutraj, zato sem večino dni začela vstajati ob 4.30. Dan sem začel z izzivi freeCodeCamp in kavo. Včasih sem brala tudi iz knjige ali delala druge vaje, odvisno od tega, na čem sem trenutno delala. Študiral sem tudi med odmorom za kosilo in po službi, vendar sem se sprijaznil s tem, da med službo med tednom nisem bil tako produktiven. Tako sem med tednom delal večinoma kratke izzive, branje itd. In delal sem na projektih ob vikendih, praznikih in prostem času.

Če bi imel 30 minut, bi prebral 30 minut. Če sem jih imel 15, sem nekaj minut študiral. Vsak prosti trenutek svojega dneva sem zaposlil za študij.

Ob nedeljah sem večino obrokov pripravljal za en teden, tako da mi ni bilo treba porabiti časa za kuhanje in na koncu jesti nezdrave stvari. Načrtoval in zbral sem tudi vse, kar sem potreboval za delo za en teden, zato mi ni bilo treba poleg običajnega delovnega časa preživljati dodatnega časa.

Na srečo po juniju se mi je delovni čas zmanjšal z 10 -12 na 8, tako da sem zdaj delal običajni urnik in tam sem začel pospeševati tempo.

Disciplina

Učiti se boste morali tudi v dneh, ko vam ni do tega. Tu ima motivacija tudi pomembno vlogo, toda disciplina je pomembna - še posebej, če ste takšni kot jaz in se močno motite s socialnimi mediji in videoposnetki o mačkah.

Najboljši nasvet, ki vam ga lahko dam, da se borite pred skušnjavo branja člankov na spletu, je ta: če se vam v glavi pojavi vprašanje, "kako letijo letala?" (kar je ponavadi vrsta vprašanj, ki me odnese in vpije 30 minut), nekje zapišite in si obljubite, da boste lahko vse prebrali, ko končate s tem, kar počnete.

99% časa vas ne bo več zanimalo, kajti ta vprašanja se preprosto pojavijo v vaših možganih, ker se hočejo zamotiti. Potisnite se in premagali boste.

Drug vidik discipline je izbira študija pred drugimi stvarmi. To ni tako zabaven del. Moral sem se odpovedati mnogim, marsičemu, kar mi je bilo všeč, ko sem študiral, in komaj čakam, da se lahko vrnem k njim. Naredil sem to samo zato, ker sem želel čim prej postati razvijalec (glej motivacijo spodaj), a tudi če se vam ne mudi tako kot meni, boste morda ugotovili, da veliko časa porabite za stvari, ki tudi čeprav so prijetni in prijetni, si vzemite preveč časa.

Morali boste dati prednost in se odločiti težko.

Motivacija

Imel sem zelo močnega motivatorja, ki je postajal razvijalec in se selil v Evropo. To je bil moj cilj dolgo, dolgo in prišel sem do točke, ko sem bil razočaran, ker ga nisem dobil. Vsi moji prijatelji so zapustili mesto, tu praktično nimam družine, počutila sem se osamljeno in želela oditi.

To me je potisnilo. Zdelo se mi je kot ogenj pod nogami, čutil sem, da nimam druge izbire. Za korenite spremembe potrebujete močno motivacijo. Ne vem zate, toda jaz sem nekakšna oseba "ne popravljaj tistega, kar ni pokvarjeno", zato me je res težko prisiliti, da delam stvari samo zato, da bi jih počel.

Moji hobiji so zelo praktični in produktivni: vrtnarjenje, joga, kuhanje. Moram imeti razlog za to (hočem brezplačno zelenjavo, boli me hrbet, lačen sem). Če ste kaj podobnega meni, boste morali najti korenček, da boste nadaljevali.

Porabite nekaj časa za razmišljanje o tem, kaj točno želite doseči z zaključkom freeCodeCamp? Kaj želite skozi to spremeniti ali dobiti v svojem osebnem življenju?

Kurikulum + dodatni viri

Sledi nekaj dodatnih virov, ki sem jih uporabil na svojem potovanju po freeCodeCamp. Upoštevajte, da to ni izčrpen seznam, ker sem opravil tone Googlanja in da nekateri od teh tečajev niso brezplačni.

Odzivno spletno oblikovanje: To je bil del, s katerim sem že imel nekaj izkušenj, zato je bil enostaven in zabaven. Uporabil sem nekaj dodatnih virov, zlasti za Flexbox. Moje najljubše mesto za to je Interneting je težko.

Algoritmi JavaScript in podatkovne strukture: Ko sem prišel do modulov JavaScript, sem se zasvojil. Vse je bilo super zabavno, naučil sem se veliko in sem si želel to uresničiti.

Za ta odsek sem večinoma uporabljal knjige. Imel sem že dovolj vaj z freeCodeCamp, vendar sem potreboval več na razlagah. Začetek JS ima tudi veliko vaj.

  • Začetek 5. izdaje JavaScripta
  • JS ne poznaš
  • Programiranje temeljev z JavaScript, HTML in CSS
  • Dokumentacija JavaScript

Ko sem prišel do tega odseka, sem se pridružil tudi programu Summer of Code (1 milijon žensk v tehnologiji) (1MWTT). Naučil sem se osnovnega Pythona in osnovnega do naprednega JavaScripta, kar je veliko pomagalo, zlasti pri Promises.

Učenje Pythona mi je pomagalo tudi pri krepitvi nekaterih osnovnih programskih konceptov. Resno priporočam, da kadar se z JavaScriptom počutite samozavestno, preizkusite nov jezik, le njegove osnovne koncepte. Potem vam bo bolj prijetno, ko boste vedeli, kako narediti isto stvar z različnimi orodji.

JavaScript Frameworks: Tudi ta razdelek je bil odličen, saj mi je dal osnovo za React in Redux. Že sem sledil React tečaju na Udemyju, React 16.6 - The Complete Guide (vključno z React Router & Redux).

Toplo in druge tečaje istega avtorja toplo priporočam. Je neverjetno temeljit in njegova pojasnila so čudovita. To je bil eden redkih tečajev Udemyja, na katerem sem dejansko spremljal projekt, ki ga izvaja: Običajno gledam videoposnetke in načela uporabljam pri vsem, kar delam.

Na 1millionwomentotech smo imeli teden React, ki je bil večinoma React native, nato pa sem se začel igrati z njim. Takrat sem z možem začel delati tudi na stranskem projektu, za katerega smo se odločili, da bo PWA z Reactom.

Ne morem poudariti, kako pomembno je zgraditi nekaj svojega iz nič. V nekaj tednih sem se naučil veliko več, kot sem se naučil s katerim koli tečajem ali vadnico.

API-ji in mikro storitve: Ta razdelek je bil zame veliko razodetje in je vse spremenil. Do tega modula sem bil prepričan, da želim biti front-end razvijalec, vendar sem po učenju Node.js začel razmišljati o tem, ali bi bil razvijalec back-end ali Full Stack. Izdelava API-jev je prav zabavna in tako hitro vidite rezultate. Začel sem graditi svoje prve male projekte Full Stack in sem bil zelo navdušen.

Nekaj ​​virov, ki sem jih uporabil:

  • Celoten tečaj za razvijalce Node.js (2. izdaja)
  • Node Girls Intro to Backend Development z Expressom
  • Dokumenti vozlišča
  • Express Docs
  • NodeSchool
  • Uvod v Node.js
  • REST & GraphQL API API v Node.js, v2 (z uporabo Express & MongoDB)

V tem času sem bil tudi prostovoljec za “1MWTT” in pozvan sem bil, da z Node izdelam aplikacijo Probot za vkrcanje prostovoljcev. To mi je dalo tudi nekaj vaj z Node, kar je bilo zelo zabavno.

Vprašanje kakovosti in informacijska varnost: Ta modul je prav tako odprl oči. Do takrat v življenju nisem napisal niti enega testa. Zdaj zelo rada pišem teste in celo zelo sem se zanimala za razvoj, ki ga vodijo testi.

Za ta odsek sem večinoma uporabljal dokumente, nato pa sem se odločil, da preizkusim tudi svoj front-end, in našel sem ta čudovit tečaj na Udemyju, ki ga ne morem priporočiti dovolj. Inštruktor je daleč najboljši inštruktor, kar sem jih kdaj videl na Udemyju. Komaj čakam, da bom v prihodnosti porabila vse druge tečaje, ki jih bo izdala.

- Chai dokumenti

- Preskus reakcije z Jest in Encimom

Vizualizacija podatkov z D3: to je bilo najtežje spričevalo. Pojasnila so bila dobra, toda ko prideš do projektov, ugotoviš, da izzivi zajemajo samo prvi projekt, v preostalem pa si nekako sam. In na spletu ni tone dobrih virov. Bral sem predvsem dokumente in uporabljal vadnice. Tu so viri, ki so me končno pripeljali do tega potrdila:

- D3.js vaje d3Vienno

- D3 dokumentacija

Nasveti za dokončanje učnega načrta

Če povzamem, to so stvari, ki so mi najbolj pomagale pri uresničevanju cilja dokončanja učnega načrta:

  • Uporabite učni načrt kot načrt, vendar ga dopolnite z drugimi viri
  • Ne zatikajte se dolgo: postavljajte vprašanja, Google, seznanite program.
  • Postavite si realne cilje za vsak dan in teden. Ne tepite se, če ste en teden počasnejši: zgodi se življenje. Naj vas ne pusti s poti.
  • Upoštevajte svojo motivacijo: to vas bo potisnilo skozi težke dni.
  • Prednostno določite: čas, ki ga porabite za druge stvari, boste morali skrajšati.
  • Ne pozabite si vzeti prostih dni. So ključnega pomena za učni proces. In dovolj spite!

Po freeCodeCampu sem se počutil nekoliko izgubljenega. To je bil načrt, ki me je vodil skozi pot od učitelja do razvijalca.

Po nekaj dneh razmisleka in načrtovanja sem se posvetila svojemu stranskemu projektu, ki ga gradim z možem. Učimo se in se zabavamo in smo nad tem zelo navdušeni.

In ja, ponudbo za delo sem res dobil takoj po zaključku učnega načrta , vendar več o tem v prihajajočem članku.

Vsega skupaj se ne bi mogel naučiti vsega, česar sem se naučil tako hitro, če ne bi bilo freeCodeCampa, in izjemno sem hvaležen vsem, ki omogočajo tako čudovit projekt.

Če se počutite enako in lahko vrnete, prosimo, da tukaj prispevate za freeCodeCamp.