Kuidas ma täistööajaga töötades 9 kuu jooksul kogu freeCodeCampi õppekava valmis sain

Möödunud aasta jooksul lõpetasin õpetajana täiskohaga töötades kogu freeCodeCampi õppekava. Selles artiklis kirjeldan, kuidas mul see õnnestus. Eriti kuidas ma oma aega korraldasin ja millist lisamaterjali kasutasin.

Taust

Esiteks tagumine lugu. Ma polnud kodeerimises täiesti uus. Kasvasin üles väikeses tehnoloogiaettevõttes.

Mu isa asutas enne minu sündi oma ettevõtte, kus nad tegid tehnikas erinevaid tegevusi, näiteks arvutite parandamine, Interneti-ühenduse ja -võrkude loomine teistele ettevõtetele, arvutikursuste õpetamine ja ettevõtete haldusrakenduste ehitamine. See oli väike linn, nii et nad olid põhimõtteliselt kogu linna "tech-kutid".

Firma kontorid asusid meie majas, nii et kasvasin sõna otseses mõttes arvutite ja inimeste seas, kellele need meeldisid. Hakkasin Visual Basicuga ringi mängima juba lapsena (üks seltskonna meestest õpetas mulle, kuidas seda kasutada) ning veetsin kogu oma vaba aja võrgus ja vestlesin teiste nohikutega.

Kui olin umbes 12-aastane, saatis üks neist nohikutest mulle veebiarenduse käsiraamatu (tohutu .txt-fail, mis tegeles põhimõtteliselt HTML-iga) ja kasutasin seda oma fännilehe loomiseks. Sellel oli isegi üks neist lahedatest külastuste lettidest.

Ma hostisin seda Geocitiesis, sain tasuta lühikese URL-i ja loetlesin selle Yahoo ja AltaVista (need olid tol ajal kõige suuremad).

Pärast seda juhtus elu ja ma loobusin täielikult programmeerija ideest, kuna olud nõudsid “realistlikumat” lähenemist. Ma ei hakka nüüd üksikasjadesse laskuma, kuid põhimõtteliselt pidin õppimisest loobuma ja tööle asuma.

Jätkasin oma elu elamist. Ehitasin aeg-ajalt oma isa klientidele mõeldud veebisaidi ja otsustasin lõpuks hakata õpetama inglise keelt, mis oli minu jaoks lihtne, ja unustasin veebiarenduse põhimõtteliselt kõik. Kuni 2016. aastani, see on.

Kuidas otsustasin karjääri vahetada

Mulle meeldib õpetada. See on tasuv amet, huvitav ja lõbus. Kuid sellel on oma varjuküljed. Alguses tundus kõik väljakutsena, kuid pärast nii palju aastaid seda tehes hakkasin tundma, et mul pole eesmärki. Et ma ei kasvanud ega õppinud enam.

Ma tundsin end kinni. Nagu mu töö oleks olnud täpselt sama aasta-aastalt. Ma lihtsalt käisin läbi. Samuti ei pakkunud see palju võimalusi ümberasumiseks, mis muutus minu jaoks hiljem väga oluliseks.

2013. aastal kohtusin oma abikaasaga ja järgmisel aastal käisime kolmekuisel seljakotireisil Euroopas, mis on hoopis teine ​​ajaveebipostitus, kuid põhimõtteliselt oli see äärmiselt väikese eelarvega ja meil oli vinge kogemus. Me armastasime Euroopat ja otsustasime, et tuleme veel ühele pikale reisile tagasi.

Aeg möödus, tegime muid asju ja siis leidsin Codecademy ja hakkasin sellega ringi mängima ning mängima mõttega saada täiskohaga arendajaks. Mul oli juba veidi kogemusi veebisaitide loomisel, kus kasutati ainult HTML-i ja CSS-i, kuid ilma JavaScripti. Lugesin internetist palju edulugusid, kuid ei pidanud seda ikkagi tõeliseks karjääriks, mitte kaugelt.

Vahepeal plaanisime järgmist pikka reisi, säästsime raha, planeerisime ja nii edasi. Töötasin üha enam vabakutselise tõlkena, oma karjääriga väga seotud, tõlkisin lahedaid asju, näiteks romaane ja luulet. Tuli 2017 ja läksime seekord jälle kaheks kuuks Euroopasse.

Seal kohtusime hulga arendajatega. See oli hull. Iga üksik diivanisurfar, kellega kohtusime, tundus olevat kuidagi IT-s, kas tarkvaratoote juhi, arendaja, testijana jne. Nad kõik julgustasid meid tehnoloogiaga tegelema. Selleks ajaks olime juba otsustanud, et tahame kolida Euroopasse, nii et paljud neist ütlesid meile: „Siit võiksite tööd leida. Arendajad on siin nõutud, me vajame neid palju. ”

Enne reisi lõppu tegime otsuse registreeruda 2-aastase tehnilise tunnistuse saamiseks oma kodulinna lähedal asuvas äsja asutatud tehnikaülikoolis. Programm oli peamiselt Java, nii et kui tagasi tulime, alustasime Java kursust Couseras. Esimene moodul oli tegelikult JavaScripti kursus, nii et saime tegelikult JavaScripti külge kohe.

JavaScripti õppimise ajal ootasime kooliaasta algust 2018. aasta märtsis. Uni jaoks oli ainult 50 kohta, nii et saime super pühendunud ja õppinud eelnevalt. Läksime, tegime teste, läbisime kursused ja siis pidime ootama, kuni nad otsustasid. Saime kõigi kandidaatide seast kõrgeimad hinded, kuid need hinded ei teinud vahet. Laigud määratakse loteriisüsteemi kaudu. Mu mees sai sisse ja mind jäeti kõrvale.

Ta otsustas, et eelistab ise õppida, Java pole teda enam nii huvitanud, sest ta oli JavaScripti külge haakunud, nii et hakkasime ise õppima.

Alustasime Codecademy'st, kuid see oli meie jaoks liiga käeshoitav (meil polnud Premium-kontosid). Kusagilt lugesime freeCodeCampi kohta. Ja me alustasime seda, alguses väga aeglaselt (esimese tunnistuse saamiseks kulus mul kuid, tõsi, keskel muudeti õppekava ja ma viskasin sülearvuti maha ja pidin selle parandama). Pärast suvepuhkuste lõppu ja täiskohaga töö juurde naasmist läks asi raskeks.

Täistööajaga töötamine ja freeCodeCampi tegemine täiskiirusel

See polnud lihtne, ma ei valeta. See aitas, et enamik mu sõpru ja tuttavaid ei ela minu lähedal ja ma elan väikeses linnas, mis ei paku palju meelelahutusvõimalusi. Selles mõttes oli programmeerimine elupäästja. Mul oli midagi lõbusat teha ja see tekitas sõltuvust, et saaksin sellega mitu tundi igavust tappa.

Nii et see aitas vaimse töö tegemisel (õpetamine ja õppimine) kulutatud tundide hulga käsitlemisel palju.

Esimesel tunnistusel kulus kuid, osalt seetõttu, et ootasin Uni-sse pääsemist ja osaliselt seetõttu, et töötasin kooliaasta 3 esimest kuud 10 tundi päevas.

Kahjuks ei saanud ma lihtsalt töölt lahkuda ja täiskohaga õppida, kuna mul oli vaja arveid maksta, seega pidin kolmes asjas väga hästi hakkama saama:

  1. Aja planeerimine
  2. Distsipliin
  3. Organisatsioon

Aja planeerimine

Alustasin tööd kell 7 hommikul, nii et enamikul päevadel hakkasin tõusma kell 4.30. Alustasin päeva freeCodeCampi väljakutsete ja kohviga. Mõnikord lugesin ka raamatust või tegin muid õpetusi, sõltuvalt sellest, millega parasjagu tegelesin. Õppisin ka lõunapausi ajal ja pärast tööd, kuid leppisin sellega, et ma polnud töö tõttu nädala jooksul nii produktiivne. Nii et nädala jooksul tegin peamiselt lühikesi väljakutseid, lugesin jne. Ja töötasin projektide kallal nädalavahetustel, pühadel ja vabal ajal.

Kui mul oleks aega 30 minutit, siis ma loeksin 30 minutit. Kui mul oli 15, siis uurisin 15 minutit. Ma kasutasin õppimiseks oma päeva iga vaba hetke.

Pühapäeviti valmistasin suurema osa oma nädala söögikordadest ette, nii et ma ei pidanud kulutama aega toiduvalmistamiseks ega pidanud lõpuks sööma ebatervislikku kraami. Plaanisin ja kogusin kokku ka nädala jaoks kõik tööks vajaliku, nii et mul polnud vaja tavapärase tööaja kõrvalt lisaaega kulutada.

Õnneks vähendati pärast juunit mu töötunde 10 -12-lt 8-le, nii et töötasin nüüd tavapärase graafikuga ja seal hakkasin tempot üles võtma.

Distsipliin

Sa pead õppima ka nendel päevadel, kui see sulle ei meeldi. Siin mängib suurt rolli ka motivatsioon, kuid distsipliin on oluline - eriti kui olete minusugune ja häirite end sotsiaalmeedia ja kassivideote abil palju.

Parim näpunäide, mille saan teile anda, et võidelda kiusatusega lugeda artikleid Internetis, on järgmine: kui mõtlete peas välja sellise küsimuse nagu "kuidas lennukid lendavad?" (mis on tavaliselt sellist tüüpi küsimus, mis mind köidab ja 30 minutiks imeb), kirjutage see kuhugi üles ja lubage endale, et saate selle kohta kõike lugeda, kui olete oma töö lõpetanud.

99% ajast ei huvita teid enam see, sest need küsimused kerkivad teie aju lihtsalt esile, kuna see tahab end häirida. Lükake läbi ja peksate seda.

Distsipliini teine ​​aspekt on valida õppetöö muude asjade asemel. See pole nii lõbus osa. Pidin loobuma paljudest paljudest asjadest, mis mulle meeldisid õppimise kasuks, ja ma ei jõua ära oodata, millal saan nende juurde tagasi pöörduda. Ma tegin seda lihtsalt sellepärast, et tahtsin võimalikult kiiresti arendajaks saada (vt allpool toodud motivatsiooni), kuid isegi kui te ei kiirusta nagu mina, võite leida, et kulutate palju aega selliste asjadega tegelemiseks, isegi kuigi nad on nauditavad ja toredad, võtke liiga palju aega.

Peate seadma prioriteedid ja tegema raskeid valikuid.

Motivatsioon

Mul oli väga tugev motivaator, mis oli arendajaks saamine ja Euroopasse kolimine. See oli minu eesmärk kaua, kaua ja jõudsin sinnamaani, et hakkasin pettuma, et ma seda ei saanud. Kõik mu sõbrad lahkusid linnast, mul pole siin praktiliselt ühtegi perekonda, tundsin end eraldatuna ja tahtsin lahkuda.

See tõukas mind. See tundus nagu tuli minu jalgade all, tundsin, et mul pole muud valikut. Radikaalsete muudatuste tegemiseks vajate tugevat motivatsiooni. Ma ei tea sinust, aga ma olen selline inimene, "ära paranda seda, mis pole katki", nii et mind on tõesti raske panna asju tegema lihtsalt nende tegemise pärast.

Minu hobid on kõik väga praktilised ja tulemuslikud: aiandus, jooga, kokandus. Mul peab olema põhjust neid teha (ma tahan tasuta köögivilju, selg valutab, mul on nälg). Kui olete minusugune, peate jätkamiseks leidma porgandi.

Kuluta sellele mõtlemiseks veidi aega, mida sa täpselt tahad freeCodeCampi viimistlemisega saavutada? Mida soovite selle kaudu oma isiklikus elus muuta või saada?

Õppekava + täiendavad ressursid

Järgnevalt on toodud mõned täiendavad ressursid, mida ma oma freeCodeCampi teekonnal kasutasin. Pidage meeles, et see ei ole täielik loetelu, kuna tegin hulgaliselt guugeldamist ja et mõned neist kursustest pole tasuta.

Tundlik veebidisain: see oli osa, millega mul juba oli kogemusi, nii et see oli lihtne ja lõbus. Kasutasin mõnda lisaressurssi, eriti Flexboxi jaoks. Minu lemmikkoht selleks on Internetimine raske.

JavaScripti algoritmid ja andmestruktuurid: kui ma jõudsin JavaScripti mooduliteni, siis sain selle kinni. Kõik oli ülimõnus, õppisin palju ja olin innukas seda praktikas rakendama.

Selles osas kasutasin peamiselt raamatuid. Mul oli freeCodeCampiga juba piisavalt harjutusi, kuid vajasin rohkem selgitusi. JS-i alguses on ka palju harjutusi.

  • Algus JavaScripti 5. väljaandest
  • Sa ei tea JS-i
  • Fondide programmeerimine JavaScripti, HTML-i ja CSS-iga
  • JavaScripti dokumentatsioon

Selleks ajaks, kui jõudsin sellesse sektsiooni, liitusin ka 1 miljoni naisega Tech's (1MWTT) Summer of Code programmis. Õppisin Pythoni põhi- ja täiustatud JavaScripti, mis aitas palju, eriti lubadustega.

Pythoni õppimine aitas mul ka mõningaid põhilisi programmeerimiskontseptsioone tugevdada. Soovitan tõsiselt, et kui tunnete end JavaScripti suhtes enesekindlalt, proovige uut keelt, just selle põhimõisteid. Teil on pärast seda palju mugavam, kui teate, kuidas sama teha erinevate tööriistadega.

JavaScripti raamistikud: Ka see jaotis oli suurepärane, kuna see andis mulle aluse Reactis ja Reduxis. Ma olin juba käinud Udemy Reacti kursusel React 16.6 - The Complete Guide (sh React Router & Redux).

Soovitan soojalt seda autorit ja teisi sama autori kursusi. Ta on uskumatult põhjalik ja tema selgitused on vinged. See oli üks väheseid Udemy kursusi, kus ma tegelikult tema tehtud projekti mööda käisin: tavaliselt vaatan videoid ja rakendan põhimõtteid kõigele, millega tegelen.

1 miljonil womentotechil oli meil Reacti nädal, mis oli enamasti React native, ja siis hakkasin sellega ringi mängima. Selleks ajaks hakkasin koos abikaasaga tegelema ka oma kõrvalprojektiga, millest otsustasime, et see saab olema Reactiga PWA.

Ma ei saa rõhutada, kui oluline on omaenda ehitamine nullist. Olen paari nädala jooksul meie rakenduse loomisel õppinud rohkem, kui olen õppinud mõne muu kursuse või juhendajaga.

API-d ja mikroteenused: see jaotis oli minu jaoks suur ilmutus ja muutis kõike. Kuni selle moodulini olin kindel, et tahan olla kasutajaliidese arendaja, kuid pärast Node.js-i õppimist hakkasin mõtlema, kas olla back-end või Full Stacki arendaja. API-de loomine on lihtsalt nii lõbus ja tulemusi näete nii kiiresti. Alustasin oma esimeste väikeste Full Stacki projektide ehitamist ja sain väga põnevile.

Mõned ressursid, mida ma kasutasin:

  • Node.js-i täielik arendajakursus (2. väljaanne)
  • Node Girlsi sissejuhatus ekspressiga taustaprogrammi arendusse
  • Sõlmedokumendid
  • Ekspressdokumendid
  • NodeKool
  • Sissejuhatus Node.js-i
  • REST & GraphQL API kujundus Node.js, v2-s (kasutades Express & MongoDB-d)

Sel ajal osalesin ka vabatahtlikult „1MWTT“ töös ja mul paluti ehitada Probot rakendus Node'i pardal viibivatele vabatahtlikele. See andis mulle ka Node'iga natuke praktikat, mis oli väga lõbus.

QA ja infoturve: see moodul oli ka silmade avajaks. Siiani polnud ma oma elus kunagi ühtegi testi kirjutanud. Nüüd meeldib mulle testide kirjutamine ja mind huvitas isegi testpõhine arendus.

Kasutasin selle osa jaoks enamasti dokumente, kuid otsustasin siis ka oma esiotsa testida ja leidsin Udemys selle hämmastava kursuse, mida ma ei saa piisavalt soovitada. Juhendaja on ülekaalukalt parim juhendaja, keda ma Udemys olen kunagi näinud. Ma ei jõua ära oodata, millal saaksin tarbida muid kursusi, mida ta tulevikus välja annab.

- Chai dokumendid

- reaktsiooni testimine Jesti ja ensüümiga

Andmete visualiseerimine D3-ga: see oli kõige raskem sertifikaat, käed alla. Selgitused olid head, kuid kui olete projektidesse jõudnud, saate teada, et väljakutsed hõlmavad ainult esimest projekti ja ülejäänud olete üsna omaette. Ja võrgus pole hulgaliselt häid ressursse. Lugesin peamiselt dokumente ja kasutasin õpetusi. Siin on ressursid, mis mind selle sertifikaadi kaudu lõpuks said:

- D3.js õpetused d3Vienno poolt

- D3 dokumentatsioon

Näpunäited õppekava lõpetamiseks

Kokkuvõtteks võib öelda, et just need asjad aitasid mind kõige rohkem täita õppekava lõpetamise eesmärki:

  • Kasutage õppekava teekaardina, kuid täiendage seda muude ressurssidega
  • Ärge jääge kauaks kinni: esitage küsimusi, Google, paariprogramm.
  • Pange igale päevale ja nädalale realistlikud eesmärgid. Ärge pekske ennast, kui üks nädal olete aeglasem: elu juhtub. Ära lase sel kursilt kõrvale visata.
  • Pea meeles oma motivatsiooni: see ajab sind rasketest päevadest läbi.
  • Prioriteet: peate vähendama aega, mida kulutate muude asjadega tegelemisele.
  • Ärge unustage puhkepäevi võtta. Need on õppeprotsessi jaoks üliolulised. Ja maga piisavalt!

Pärast freeCodeCampit tundsin end pisut eksinud. See oli tegevuskava, mis juhatas mind teekonnal õpetajast arendajani.

Pärast paaripäevast järelemõtlemist ja planeerimist pühendusin oma kõrvalprojektile, mida ma koos abikaasaga ehitan. Õpime ja lõbutseme ning oleme sellest väga põnevil.

Ja jah, sain tööpakkumise kohe pärast õppekava lõpetamist , kuid sellest lähemalt tulevasest artiklist.

Kokkuvõttes ei oleks ma võinud õppida kõike seda, mida olen nii kiiresti õppinud, kui seda poleks olnud freeCodeCampi jaoks ja olen ülimalt tänulik kõigile, kes sellise imelise projekti võimalikuks teevad.

Kui tunnete sama ja suudate tagasi anda, kaaluge siin annetamist freeCodeCampile.