Ako som dokončil celé učivo freeCodeCamp za 9 mesiacov pri práci na plný úväzok

Počas minulého roka som dokončil celé učivo freeCodeCamp, keď som pracoval na plný úväzok ako učiteľ. V tomto článku načrtnem, ako sa mi to podarilo. Najmä to, ako som si organizoval čas a aký doplnkový materiál som použil.

Pozadie

Najprv zadný príbeh. V kódovaní som nebol úplne nový. Vyrastal som v malej technologickej spoločnosti.

Môj otec založil svoju vlastnú spoločnosť ešte predtým, ako som sa narodil, kde v rámci technológií vykonávali rôzne činnosti, ako napríklad opravu počítačov, nastavovanie internetových pripojení a sietí pre ďalšie spoločnosti, výučbu počítačových kurzov a tvorbu administratívnych aplikácií pre spoločnosti. Bolo to malé mesto, takže to boli v podstate technickí chalani pre celé mesto.

Kancelárie spoločnosti boli v našom dome, takže som doslova vyrastal medzi počítačmi a ľuďmi, ktorým sa páčili. S jazykom Visual Basic som sa začal hrať ešte ako dieťa (jeden z chalanov vo firme ma to naučil používať) a všetok svoj voľný čas som trávil online chatovaním s kolegami.

Keď mi bolo asi 12, jeden z tých hlupákov mi poslal e-mailom manuál na vývoj webu (obrovský súbor .txt, ktorý sa v podstate zaoberal HTML) a ja som ho použil na vytvorenie vlastnej fanúšikovskej stránky. Dokonca to malo jeden z tých skvelých počítadiel návštev.

Hostil som to na Geocities, dostal som zadarmo krátku URL a uviedol som to na Yahoo a AltaVista (boli to vtedy najväčšie).

Potom nastal život a ja som sa úplne vzdal myšlienky byť programátorom, pretože si okolnosti vyžadovali „realistickejší“ prístup. Teraz nebudem zachádzať do podrobností, ale v podstate som sa musel vzdať štúdia a zamestnať sa.

Ďalej som žil svoj život. Vytvoril som príležitostnú webovú stránku pre klientov môjho otca a potom som sa rozhodol začať učiť angličtinu, čo mi prišlo ľahké a v zásade som zabudol na vývoj všetkých webov. Do roku 2016 to teda je.

Ako som sa rozhodol zmeniť kariéru

Milujem učenie. Je to obohacujúce povolanie, zaujímavé a zábavné. Má to však svoje negatíva. Na začiatku bolo všetko ako výzva, ale po toľkých rokoch, keď som to robil, som začal mať pocit, že nemám žiadny účel. Že som už nerástol ani sa neučil.

Cítil som sa zaseknutý. Rovnako ako moja práca bola úplne rovnaká rok čo rok. Len som prechádzal návrhmi. Tiež to neponúkalo veľa príležitostí na presídlenie, čo bolo pre mňa neskôr veľmi dôležité.

V roku 2013 som sa stretla s manželom a ďalší rok sme sa vybrali na trojmesačný výlet s batohom do Európy, čo je úplne iný blogový príspevok, ale v podstate to bol extrémne nízky rozpočet a mali sme úžasnú skúsenosť. Milovali sme Európu a rozhodli sme sa, že sa vrátime na ďalší dlhý výlet.

Čas plynul, robili sme ďalšie veci, a potom som našiel Codecademy, začal som sa s tým hrať a hrať sa s myšlienkou stať sa vývojárom na plný úväzok. Už som mal nejaké skúsenosti s tvorbou webov iba s HTML a CSS, ale bez JavaScriptu. Čítal som veľa úspešných príbehov online, ale ani zďaleka som to nepovažoval za skutočnú kariéru.

Medzitým sme plánovali ďalšiu dlhú cestu, šetrili sme peniaze, plánovali atď. Stále viac som pracoval ako prekladateľ na voľnej nohe, super zapojený do svojej kariéry, prekladal som super veci ako romány a poézia. Prišiel rok 2017 a my sme sa tentoraz vybrali na dva mesiace opäť do Európy.

Tam sme stretli kopu vývojárov. Bolo to šialené. Zdá sa, že každý surfer na gauči, s ktorým sme sa stretli, nejako je v IT, či už ako manažér softvérového produktu, vývojár, tester atď. Všetci nás nabádali, aby sme sa dostali k technike. V tom čase sme sa už rozhodli, že sa chceme presťahovať do Európy, a tak nám veľa z nich povedalo: „Môžete si tu nájsť prácu. Po vývojároch je tu dopyt, potrebujeme ich veľa. “

Pred skončením cesty sme sa rozhodli prihlásiť sa na dvojročné technické osvedčenie na novozaloženej technickej univerzite neďaleko nášho rodného mesta. Program bol hlavne Java, takže keď sme sa vrátili, začali sme kurz Java v Cousere. Prvý modul bol vlastne kurz JavaScriptu, takže sme sa do JavaScriptu dostali okamžite.

Keď sme sa učili JavaScript, čakali sme na začiatok školského roka v marci 2018. Pre Uni bolo iba 50 spotov, takže sme sa super venovali a učili sme sa vopred. Išli sme, absolvovali testy, absolvovali sme kurzy a potom sme si museli počkať, kým sa nerozhodnú. Získali sme najvyššie známky spomedzi všetkých kandidátov, ale tieto známky nezmenili. Miesta by sa prideľovali prostredníctvom lotériového systému. Vstúpil môj manžel a ja som bola vynechaná.

Rozhodol sa, že sa radšej učí sám, už ho Java toľko nezaujímala, pretože bol napojený na JavaScript, a tak sme sa začali učiť sami.

Začali sme s Codecademy, ale bolo to pre nás príliš ručné (nemali sme prémiové účty). Niekde sme čítali o freeCodeCamp. A začali sme to najskôr spočiatku veľmi pomaly (prvé osvedčenie mi trvalo mesiace, pravda, v polovici sa zmenili učebné osnovy a ja som upustil od laptopu a musel som si ho dať opraviť). Po skončení letných prázdnin a návrate k práci na plný úväzok sa všetko zhoršilo.

Pracujete na plný úväzok a pracujete na freeCodeCamp pri plnej rýchlosti

Nebolo to ľahké, nebudem klamať. Pomohlo mi, že väčšina mojich priateľov a známych nebýva v mojej blízkosti a ja bývam v malom meste, ktoré neponúka veľa možností zábavy. V tomto zmysle bolo programovanie záchranou života. Bavilo ma niečo robiť a bolo to návykové, takže som tým mohol zabiť hodiny nudy.

Takže to veľmi pomohlo pri riešení množstva hodín, ktoré som strávil duševnou prácou (výučbou a štúdiom).

Prvé vysvedčenie trvalo mesiace, čiastočne preto, že som čakal na vstup do Uni, a čiastočne preto, že som prvé 3 mesiace školského roka pracoval 10 hodín denne.

Bohužiaľ som nemohol opustiť prácu a študovať na plný úväzok, pretože som potreboval platiť účty, takže som musel byť skutočne dobrý v 3 veciach:

  1. Časový manažment
  2. Disciplína
  3. Organizácia

Časový manažment

Začal som pracovať o 7:00, takže som väčšinu dní začal vstávať o 4:30. Deň som začal výzvami freeCodeCamp a kávou. Niekedy som tiež čítal z knihy alebo robil iné návody podľa toho, na čom som momentálne pracoval. Učila som sa aj cez obednú prestávku a po práci, ale zmierila som sa s tým, že som cez týždeň nebola kvôli práci taká produktívna. Takže cez týždeň som robil väčšinou krátke výzvy, čítal som atď. A pracoval som na projektoch cez víkendy, sviatky a voľný čas.

Keby som mal 30 minút, prečítal by som 30 minút. Keby som mal 15, tak som sa 15 minút učil. Na štúdium som využil každú jednu voľnú chvíľu svojho dňa.

V nedeľu som pripravoval väčšinu jedál na týždeň, takže som nemusel tráviť čas varením a nemusel som skončiť s nezdravými vecami. Tiež som si na týždeň naplánoval a zhromaždil všetko, čo som potreboval do práce, takže som okrem bežnej pracovnej doby nemusel tráviť čas navyše.

Našťastie po júni sa mi pracovná doba znížila z 10 -12 na 8, takže som teraz pracoval podľa bežného harmonogramu a tam som začal naberať tempo.

Disciplína

Budeš sa musieť učiť aj v dňoch, na ktoré sa ti nechce. Tu tiež zohráva veľkú úlohu motivácia, ale je dôležitá disciplína - najmä ak ste ako ja a veľa vás rozptýli prostredníctvom sociálnych médií a videí s mačkami.

Najlepší tip, ktorý vám môžem dať, aby ste bojovali proti pokušeniu čítať články online, je tento: ak vám v hlave napadne otázka typu „ako lietajú lietadlá?“ (čo je zvyčajne ten typ otázky, ktorý ma unesie a na 30 minút ma vtiahne), niekde si to zapíšte a sľúbte si, že si to všetko prečítate, až keď dokončíte, čo robíte.

99% času, keď už ťa to nebude zaujímať, pretože tieto otázky sa ti objavia v mozgu, pretože sa chce rozptýliť. Pretlačte sa a porazíte to.

Ďalším aspektom disciplíny je potreba zvoliť si štúdium nad inými vecami. Toto nie je taká zábavná časť. Musel som sa vzdať mnohých vecí, ktoré ma bavilo uprednostňovať štúdium, a už sa neviem dočkať, kedy sa k nim budem môcť vrátiť. Urobil som to len preto, že som sa chcel čo najskôr stať vývojárom (pozri Motivácia nižšie), ale aj keď nie ste v zhone ako ja, možno zistíte, že trávite veľa času robením vecí, dokonca aj aj keď sú príjemné a pekné, zaberajú príliš veľa času.

Budete musieť uprednostniť a robiť tvrdé rozhodnutia.

Motivácia

Mal som veľmi silného motivátora, ktorý sa stal vývojárom a presťahoval sa do Európy. To bol môj cieľ na dlho, dlho a dospel som do bodu, keď ma frustrovalo, že to nedostávam. Všetci moji priatelia odišli z mesta, nemám tu prakticky žiadnu rodinu, cítil som sa izolovaný a chcel som odísť.

To ma tlačilo. Cítil som sa ako oheň pod nohami, cítil som, že nemám na výber. Potrebujete silnú motiváciu robiť radikálne zmeny. Neviem ako vy, ale ja som typ človeka typu „neopravuj, čo nie je zlomené“, takže je naozaj ťažké prinútiť ma, aby som robil veci len kvôli tomu, aby som ich robil.

Všetky moje záľuby sú veľmi praktické a produktívne: záhradníctvo, jóga, varenie. Potrebujem na to mať dôvod (chcem vegetariáni zadarmo, bolí ma chrbát, som hladný). Ak ste niečo ako ja, budete si musieť nájsť mrkvu, aby ste boli stále v chode.

Strávte nejaký čas premýšľaním o tom, čo je to presne to, čo chcete dosiahnuť dokončením freeCodeCamp? Čo tým chcete zmeniť alebo získať vo svojom osobnom živote?

Učebné osnovy + doplnkové zdroje

Nasleduje niekoľko doplnkových zdrojov, ktoré som použil na svojej ceste freeCodeCamp. Nezabúdajte, že nejde o vyčerpávajúci zoznam, pretože som absolvoval veľa Googlovaní a že niektoré z týchto kurzov nie sú bezplatné.

Responzívny webový dizajn: S touto časťou som už mal nejaké skúsenosti, takže to bolo jednoduché a zábavné. Použil som niekoľko doplnkových zdrojov, najmä pre Flexbox. Moje obľúbené miesto pre tento účel je internet.

Algoritmy a dátové štruktúry JavaScriptu: Keď som sa dostal k modulom JavaScriptu, dostal som závislosť. Všetko bolo super zábavné, veľa som sa naučil a dychtivo som to uplatňoval v praxi.

Pre túto časť som väčšinou používala knihy. Už som mal dosť cvičení s freeCodeCamp, ale potreboval som viac v spôsobe vysvetlenia. Počiatočný JS má tiež veľa cvičení.

  • Počnúc 5. vydaním JavaScriptu
  • Ty nevieš JS
  • Programovanie základov pomocou JavaScriptu, HTML a CSS
  • Dokumentácia JavaScriptu

V čase, keď som sa dostal do tejto časti, som sa tiež zapojil do programu Summer of Code 1 Million Women to Tech (1MWTT). Naučil som sa základný Python a základný až pokročilý JavaScript, čo mi veľmi pomohlo, hlavne pri Promises.

Učenie sa jazyka Python mi tiež pomohlo posilniť niektoré základné koncepty programovania. Vážne odporúčam, aby ste si pri používaní JavaScriptu istotu vyskúšali nový jazyk, iba jeho základné pojmy. Potom budete oveľa pohodlnejší, keď budete vedieť, ako robiť to isté s rôznymi nástrojmi.

Rámečky JavaScriptu: Aj táto časť bola skvelá, pretože mi dala základ v React a Redux. Už som sledoval kurz React na Udemy, React 16.6 - Kompletný sprievodca (vrátane React Router a Redux).

Tento kurz a ďalšie od rovnakého autora vrelo odporúčam. Je neuveriteľne dôkladný a jeho vysvetlenia sú úžasné. Toto bol jeden z mála kurzov Udemy, kde som vlastne sledoval projekt, ktorý realizuje: Normálne pozerám videá a uplatňujem princípy na čokoľvek, na čom pracujem.

Na 1millionwomentotech sme mali týždeň React, ktorý bol väčšinou React native a potom som sa s tým začal hrať. Do tej doby som tiež začal pracovať na mojom vedľajšom projekte s manželom, o ktorom sme sa rozhodli, že bude PWA s Reactom.

Nemôžem zdôrazniť, aké dôležité je postaviť si niečo od základu. Za pár týždňov som sa pri vytváraní našej aplikácie naučil oveľa viac, ako som sa naučil pri akomkoľvek kurze alebo cvičení.

API a mikroslužby: Táto časť bola pre mňa veľkým odhalením a všetko zmenila. Až do tohto modulu som si bol istý, že chcem byť front-endovým vývojárom, ale po učení Node.js som začal uvažovať o tom, že budem back-endový alebo Full Stack vývojár. Budovanie rozhraní API je taká veľká zábava a výsledky vidíte tak rýchlo. Začal som budovať svoje prvé malé projekty Full Stack a bol som veľmi nadšený.

Niektoré zo zdrojov, ktoré som použil:

  • Kompletný kurz pre vývojárov Node.js (2. vydanie)
  • Node Girls Intro to Backend Development with Express
  • Uzol Docs
  • Express Docs
  • NodeSchool
  • Úvod do Node.js
  • Návrh rozhrania REST a GraphQL API v Node.js, v2 (pomocou Express a MongoDB)

V tomto období som tiež pracoval ako dobrovoľník pre program „1MWTT“ a bol som požiadaný, aby som vytvoril aplikáciu Probot pre palubných dobrovoľníkov s Node. Týmto som získal aj určité skúsenosti s Node, čo ma veľmi bavilo.

QA a bezpečnosť informácií: Tento modul tiež otváral oči. Dovtedy som nikdy v živote nenapísal jediný test. Teraz veľmi rád píšem testy a dokonca som sa veľmi zaujímal o Test Driven Development.

Väčšinou som použil dokumenty pre túto časť, ale potom som sa rozhodol otestovať aj svoje front-end a našiel som tento úžasný kurz na Udemy, ktorý nemôžem dosť odporučiť. Inštruktor je zďaleka najlepší inštruktor, akého som kedy na Udemy videl. Už sa neviem dočkať, kedy v budúcnosti absolvujem ďalšie kurzy, ktoré absolvuje.

- Chai docs

- Reagujte na testy s Jest a Enzyme

Vizualizácia dát pomocou D3: Toto bol najťažší certifikát, ruky dole. Vysvetlenie bolo dobré, ale akonáhle sa dostanete k projektom, zistíte, že výzvy sa týkajú iba prvého projektu, a pre zvyšok ste trochu sami. A online nie je veľa dobrých zdrojov. Čítal som hlavne dokumenty a používal návody. Tu sú zdroje, ktoré ma nakoniec dostali cez túto certifikáciu:

- D3.js Návody od d3Vienno

- dokumentácia D3

Tipy na dokončenie učiva

Ak to zhrniem, sú to práve veci, ktoré mi najviac pomohli dosiahnuť môj cieľ, ktorým je dokončenie učiva:

  • Použite učebné osnovy ako cestovnú mapu, ale doplňte ich o ďalšie zdroje
  • Nezdržujte sa dlho: pýtajte sa, Google, párový program.
  • Stanovte si realistické ciele pre každý deň a týždeň. Nezbite sa, ak ste o týždeň pomalší: život sa stane. Nenechajte sa vyviesť z kurzu.
  • Majte na pamäti svoju motiváciu: práve tá vás bude tlačiť v náročných dňoch.
  • Stanovte priority: budete musieť obmedziť čas, ktorý venujete iným veciam.
  • Nezabudnite si vziať dni voľna. Sú životne dôležité pre proces učenia. A dostatok spánku!

Po freeCodeCamp som sa cítil trochu stratený. Toto bol plán, ktorý ma sprevádzal počas mojej cesty od učiteľa k vývojárovi.

Po niekoľkých dňoch úvah a plánovania som sa venoval svojmu vedľajšiemu projektu, ktorý budujem s manželom. Učíme sa a bavíme sa a sme z toho veľmi nadšení.

A áno, pracovnú ponuku som dostal hneď po dokončení učebných osnov , ale o tom viac v pripravovanom článku.

Celkovo by som sa nemohol naučiť všetko, čo som sa naučil tak rýchlo, nebyť freeCodeCamp, a som nesmierne vďačný všetkým, ktorí umožňujú taký úžasný projekt.

Ak sa cítite rovnako a ste schopní vrátiť peniaze, zvážte darovanie pre freeCodeCamp tu.