Kuinka olen suorittanut koko freeCodeCamp-opetussuunnitelman 9 kuukaudessa työskennellessäni kokopäiväisesti

Viime vuoden aikana olen suorittanut koko freeCodeCamp-opetussuunnitelman työskennellessäni kokopäiväisesti opettajana. Tässä artikkelissa esitän, kuinka onnistuin tekemään tämän. Erityisesti kuinka järjestin aikani ja mitä lisämateriaalia käytin.

Tausta

Ensinnäkin takatarina. En ollut täysin uusi koodaus. Kasvoin pienessä teknologiayrityksessä.

Isäni perusti oman yrityksen ennen syntymääni, jossa he tekivät erilaisia ​​tekniikan aloja, kuten tietokoneiden korjaamista, Internet-yhteyksien ja verkkojen perustamista muille yrityksille, tietokonekurssien opettamista ja hallinnollisten sovellusten rakentamista yrityksille. Se oli pieni kaupunki, joten he olivat pohjimmiltaan koko kaupungin teknisiä kavereita.

Yrityksen toimistot olivat talossamme, joten kasvoin kirjaimellisesti tietokoneiden ja ihmisten keskuudessa, jotka pitivät niistä. Aloin leikkiä Visual Basicin kanssa lapsena (yksi yrityksen kavereista opetti minua käyttämään sitä) ja vietin kaiken vapaa-ajan verkossa, juttelemalla muiden nörttien kanssa.

Kun olin noin 12-vuotias, yksi niistä nörtteistä lähetti minulle web-kehityskäsikirjan (valtava .txt-tiedosto, joka käsitteli periaatteessa HTML: ää), ja käytin sitä rakentaakseni oman fani-sivuston. Siinä oli jopa yksi näistä viileistä vierailutiskeistä.

Isännöin sitä Geocities-sivustossa, sain ilmaisen lyhyen URL-osoitteen ja listasin sen Yahoon ja AltaVistaan ​​(nämä olivat tuolloin suurimmat).

Sen jälkeen elämä tapahtui, ja luopuin täysin ohjelmoijan ajatuksesta, koska olosuhteet vaativat "realistisempaa" lähestymistapaa. En aio mennä yksityiskohtiin nyt, mutta minun piti periaatteessa luopua opiskelusta ja saada työpaikka.

Elin edelleen elämäni. Rakensin satunnaisen verkkosivuston isäni asiakkaille ja päätin lopulta alkaa opettaa englantia, mikä oli minulle helppoa, ja unohdin kaiken verkkokehityksestä. Vuoteen 2016 asti.

Kuinka päätin vaihtaa uraa

Rakastan opettamista. Se on palkitseva ammatti, mielenkiintoinen ja hauska. Mutta sillä on haittapuolensa. Alussa kaikki tuntui haasteelta, mutta niin monen vuoden tekemisen jälkeen aloin tuntea, että minulla ei ollut tarkoitusta. Että en kasvanut tai oppinut enää.

Tunsin olevani jumissa. Kuten työni oli täsmälleen sama vuosi toisensa jälkeen. Olin juuri läpi liikkeitä. Se ei myöskään tarjonnut paljon mahdollisuuksia muuttaa, mikä tuli minulle myöhemmin erittäin tärkeäksi.

Vuonna 2013 tapasin aviomieheni, ja seuraavana vuonna menimme kolmen kuukauden retkimatkalle Eurooppaan, joka on aivan erilainen blogikirjoitus, mutta periaatteessa se oli erittäin alhainen budjetti ja meillä oli mahtava kokemus. Rakastimme Eurooppaa ja päätimme palata uudelle pitkälle matkalle.

Aika kului, teimme muita juttuja, ja sitten löysin Codecademyn ja aloin leikkiä sen kanssa ja leikkiä ajatuksella tulla kokopäiväiseksi kehittäjäksi. Minulla oli jo kokemusta verkkosivustojen rakentamisesta vain HTML: llä ja CSS: llä, mutta ilman JavaScriptiä. Luin paljon menestystarinoita verkossa, mutta en silti pitänyt sitä todellisena urana, ei kaukaa.

Sillä välin suunnittelimme seuraavaa pitkää matkaa, säästimme rahaa, suunnittelua ja niin edelleen. Työskentelin freelance-kääntäjänä yhä enemmän, erittäin mukana urassani, kääntäen hienoja juttuja, kuten romaaneja ja runoja. Vuosi 2017 tuli ja menimme taas Eurooppaan kahdeksi kuukaudeksi.

Siellä tapasimme joukon kehittäjiä. Se oli hullua. Jokainen tapaamamme sohvasurffaaja näytti olevan jotenkin tietotekniikassa joko ohjelmistotuotepäällikkönä, kehittäjänä, testaajana ja niin edelleen. He kaikki kannustivat meitä aloittamaan tekniikan. Siihen mennessä olimme jo päättäneet, että halusimme muuttaa Eurooppaan, joten monet heistä sanoivat meille: ”Voit löytää työpaikan täältä. Kehittäjät ovat täällä kysyttyjä, tarvitsemme niitä paljon. "

Ennen matkan päättymistä teimme päätöksen rekisteröityä 2 vuoden tekniselle todistukselle äskettäin perustettuun teknilliseen yliopistoon lähellä kotikaupunkiamme. Ohjelma oli pääosin Java, joten palattuamme aloitimme Java-kurssin Couserassa. Ensimmäinen moduuli oli itse asiassa JavaScript-kurssi, joten saimme koukun JavaScriptiin heti.

Kun opimme JavaScriptiä, odotimme kouluvuoden alkua maaliskuussa 2018. Uniille oli tarjolla vain 50 paikkaa, joten saimme erittäin omistautuneen ja oppinut etukäteen. Menimme, otimme testejä, läpäisimme kursseja, ja sitten meidän oli odotettava, kunnes he päättivät. Saimme korkeimmat arvosanat kaikista ehdokkaista, mutta arvosanoilla ei ollut merkitystä. Pisteet jaetaan arpajaisten kautta. Mieheni tuli sisään ja minut jätettiin pois.

Hän päätti mieluummin oppia itse, hän ei ollut enää niin kiinnostunut Javaista, koska hän oli koukussa JavaScriptiin, joten aloimme oppia yksin.

Aloitimme Codecademyn kanssa, mutta se oli meille liian kädessä pidetty (meillä ei ollut Premium-tilejä). Jossain luimme freeCodeCampista. Ja aloitimme sen aluksi hyvin hitaasti (ensimmäisen todistuksen saaminen kesti kuukausia, tosin keskellä opetussuunnitelmaa muutettiin ja pudotin kannettavan tietokoneen ja minun piti korjata se). Kun kesäloma oli päättynyt ja palasin kokopäiväiseen työhön, asiat vaikeutuivat.

Työskentele kokopäiväisesti ja tekee freeCodeCampia täydellä nopeudella

Se ei ollut helppoa, en valehtele. Se auttoi, että suurin osa ystävistäni ja tuttavistani ei asu lähelläni, ja asun pienessä kaupungissa, joka ei tarjoa paljon viihdemahdollisuuksia. Tässä mielessä ohjelmointi oli elämän säästö. Minulla oli jotain hauskaa tehdä, ja se aiheutti riippuvuutta, jotta voisin tappaa tuntikausia sen kanssa.

Joten se auttoi paljon käsitellessäni tunteja, jotka vietin henkistä työtä (opettaminen ja opiskelu).

Ensimmäinen todistus kesti kuukausia, osittain siksi, että odotin pääsyä Uniin ja osittain siksi, että työskentelin 10 tuntia päivässä lukuvuoden 3 ensimmäisen kuukauden ajan.

Valitettavasti en voinut vain luopua työstäni ja opiskella kokopäiväisesti, koska minun tarvitsi maksaa laskut, joten minun piti saada todella hyvä kolme asiaa:

  1. Ajanhallinta
  2. Kuri
  3. Organisaatio

Ajanhallinta

Aloin töitä klo 7.00, joten aloin nousta kello 4.30 useimpina päivinä. Aloitin päivän freeCodeCamp-haasteilla ja kahvilla. Joskus luin myös kirjasta tai tein muita opetusohjelmia, riippuen siitä, mitä työskentelin tällä hetkellä. Opiskelin myös lounastauolla ja työn jälkeen, mutta sain selville, että en ollut niin tuottava viikon aikana työn takia. Joten viikon aikana tein enimmäkseen lyhyitä haasteita, lukemista ja niin edelleen. Ja työskentelin projektien parissa viikonloppuisin, lomilla ja vapaa-ajalla.

Jos minulla olisi 30 minuuttia, luisin 30 minuuttia. Jos minulla olisi 15, tein jonkin verran tutkimusta 15 minuutin ajan. Käytin päivieni jokaista vapaata hetkeä opiskelemaan.

Sunnuntaisin aterian valmistelin suurimman osan aterioistani viikossa, joten minun ei tarvinnut viettää aikaa ruoanlaittoon eikä minun tarvinnut syödä epäterveellisiä juttuja. Suunnittelin ja keräsin myös kaiken tarvitsemani työhön viikoksi, joten minun ei tarvinnut viettää ylimääräistä aikaa normaalin työajan lisäksi.

Onneksi kesäkuun jälkeen työaikani väheni 10-12: stä 8: een, joten työskentelin nyt normaalissa aikataulussa ja aloin ottaa vauhtia.

Kuri

Sinun on opiskeltava jopa päivinä, joista et halua. Tässä motivaatiolla on myös suuri rooli, mutta kurinalaisuus on tärkeää - varsinkin jos olet kuin minä ja hämmennyt paljon sosiaalisen median ja kissavideoiden kanssa.

Paras vinkki, jonka voin antaa sinulle taistelemaan kiusausta lukea artikkeleita verkossa, on tämä: jos keksit päähäsi kysymyksen, kuten "kuinka lentokoneet lentävät?" (joka yleensä on sellainen kysymys, joka saa minut karkottamaan ja imee minua 30 minuutiksi), kirjoita se jonnekin ja lupaile itsellesi, että voit lukea kaiken sen jälkeen, kun olet valmis tekemään.

99% ajasta et välitä enää, koska nuo kysymykset vain nousevat aivoihisi, koska se haluaa hämmentyä. Työnnä läpi ja voitat sen.

Toinen kurinalaisuuden osa on valita opiskelu muiden asioiden sijaan. Tämä ei ole niin hauska osa. Minun piti luopua monista, monista asioista, joista nautin opiskelun suosimiseksi, enkä voi odottaa voivani palata heidän luokseen. Tein sen vain siksi, että halusin tulla kehittäjäksi mahdollisimman pian (katso alla oleva motivaatio), mutta vaikka et olisi kiireessä kuin minä, saatat huomata, että vietät paljon aikaa tekemällä asioita, jopa vaikka ne ovat nautinnollisia ja mukavia, vie liian paljon aikaa.

Sinun on priorisoitava ja tehtävä vaikeita valintoja.

Motivaatio

Minulla oli erittäin vahva motivaattori, josta oli tulossa kehittäjä ja muuttamassa Eurooppaan. Tämä oli tavoitteeni pitkään, pitkään ja saavuin pisteeseen, jossa turhautuin siitä, etten saanut sitä. Kaikki ystäväni lähtivät kaupungista, minulla ei ole käytännössä yhtään perhettä täällä, tunsin olevani eristetty ja halusin lähteä.

Se työnsi minut. Se tuntui tulelta jalkojeni alla, tunsin, ettei minulla ollut muuta vaihtoehtoa. Tarvitset vahvan motivaation tehdäksesi radikaaleja muutoksia. En tiedä sinusta, mutta olen tavallaan "älä korjaa sitä, mikä ei ole rikki", joten on todella vaikea saada minut tekemään asioita vain tekemisen vuoksi.

Harrastukseni ovat kaikki hyvin käytännöllisiä ja tuottavia: puutarhanhoito, jooga, ruoanlaitto. Minulla on oltava syy tehdä ne (haluan ilmaisia ​​vihanneksia, selkä sattuu, olen nälkäinen). Jos olet jotain minun kaltaista, sinun on löydettävä porkkana, joka pitää sinut ajan tasalla.

Vietä aikaa ajatellessasi tätä, mikä on juuri se, jonka haluat saavuttaa viimeistelemällä freeCodeCampin? Mitä haluat muuttaa tai saada henkilökohtaisessa elämässäsi sen kautta?

Opetussuunnitelma + täydentävät resurssit

Seuraavassa on joitain lisäresursseja, joita käytin freeCodeCamp-matkallani. Muista, että tämä ei ole tyhjentävä luettelo, koska tein paljon Googlingia ja että jotkut näistä kursseista eivät ole ilmaisia.

Reagoiva verkkosivujen suunnittelu: Tämä oli osa, josta minulla oli jo jonkin verran kokemusta, joten se oli helppoa ja hauskaa. Käytin joitain lisäresursseja, erityisesti Flexboxiin. Suosikkipaikkani tälle on Internet-yhteys on vaikeaa.

JavaScript-algoritmit ja tietorakenteet: Kun pääsin JavaScript-moduuleihin, sain koukun. Kaikki oli erittäin hauskaa, opin paljon ja olin innokas toteuttamaan sitä käytännössä.

Tässä osassa käytin enimmäkseen kirjoja. Minulla oli jo tarpeeksi harjoituksia freeCodeCampilla, mutta tarvitsin enemmän selityksiin. JS: n alussa on myös paljon harjoituksia.

  • Alkaa JavaScript 5. painos
  • Et tiedä JS: tä
  • Säätiöiden ohjelmointi JavaScriptillä, HTML: llä ja CSS: llä
  • JavaScript-dokumentaatio

Mennessäni tähän osioon, liityin myös 1 miljoonan naisen Techin (1MWTT) Summer of Code -ohjelmaan. Olen oppinut perus Pythonin ja perus- tai edistyneen JavaScriptin, mikä auttoi paljon, etenkin Promises-ohjelmalla.

Pythonin oppiminen auttoi minua myös vahvistamaan joitain ohjelmoinnin peruskäsitteitä. Suosittelen vakavasti, että kun tunnet itsesi luottavaiseksi JavaScriptin kanssa, kokeile uutta kieltä, vain sen peruskäsitteitä. Jälkeenpäin on paljon mukavampaa, kun osaat tehdä saman asian eri työkaluilla.

JavaScript-kehykset: Myös tämä osio oli hieno, koska se antoi minulle perustan Reactissa ja Reduxissä. Olin jo käynyt Udemyn React-kurssilla, React 16.6 - The Complete Guide (sis. React Router & Redux).

Suosittelen tätä ja muita saman kirjoittajan kursseja. Hän on uskomattoman perusteellinen ja hänen selityksensä ovat mahtavia. Tämä oli yksi harvoista Udemy-kursseista, joissa itse asiassa seurasin hänen tekemää projektia: Katson yleensä videoita ja soveltan periaatteita mihin tahansa työskentelen.

Yhdellä miljoonalla womentotechillä meillä oli React-viikko, joka oli enimmäkseen Reactin syntyperäinen, ja sitten aloin leikkiä sen kanssa. Siihen mennessä aloin myös työskennellä sivuprojektissani mieheni kanssa, josta päätimme olla PWA Reactin kanssa.

En voi korostaa, kuinka tärkeää on rakentaa jotain omaa tyhjästä. Olen oppinut muutamassa viikossa rakentamaan sovellustamme enemmän kuin olen oppinut millään kurssilla tai opetusohjelmalla.

API: t ja mikropalvelut: Tämä osio oli minulle suuri ilmoitus ja muutti kaikkea. Siihen moduuliin asti olin varma, että halusin olla käyttöliittymän kehittäjä, mutta oppinut Node.js: n aloin ajatella olevani back-end- tai Full Stack -kehittäjä. Sovellusliittymien rakentaminen on vain niin hauskaa ja näet tulokset niin nopeasti. Aloin rakentaa ensimmäisiä pieniä Full Stack -projektejani ja innostuin hyvin.

Osa käyttämistäni resursseista:

  • Node.js-kehittäjän täydellinen kurssi (2. painos)
  • Node Girls -tekniikka kehitystyöhön Expressin avulla
  • Solmun dokumentit
  • Express-dokumentit
  • SolmuKoulu
  • Johdanto Node.js-tiedostoon
  • REST & GraphQL -sovellusliittymäsuunnittelu Node.js, v2: ssa (käyttäen Express & MongoDB: tä)

Tänä aikana olin myös vapaaehtoistyössä ”1MWTT” -palvelussa ja minua pyydettiin rakentamaan Probot-sovellus Node-palveluun tuleville vapaaehtoisille. Tämä antoi minulle myös jonkin verran harjoittelua Nodessa, mikä oli hauskaa.

Laadunvalvonta ja tietoturva: Tämä moduuli oli myös silmien avaaja. Siihen asti en ollut koskaan koskaan kirjoittanut yhtä testiä elämässäni. Rakastan nyt testien kirjoittamista, ja olen jopa erittäin kiinnostunut testikäyttöisestä kehityksestä.

Käytin enimmäkseen tämän osan asiakirjoja, mutta sitten päätin testata myös käyttöliittymääni ja löysin tämän upean kurssin Udemyssa, jota en voi suositella tarpeeksi. Ohjaaja on ylivoimaisesti paras ohjaaja, jonka olen koskaan nähnyt Udemyssa. En voi odottaa voivani käyttää mitä tahansa muita hänen tulevaisuudessa julkaisemiaan kursseja.

- Chai-asiakirjat

- Reagoi testaus Jestin ja entsyymin kanssa

Tietojen visualisointi D3: lla: Tämä oli vaikein varmenne, kädet alas. Selitykset olivat hyviä, mutta kun pääset projektiin, huomaat, että haasteet kattavat vain ensimmäisen projektin, ja loput olet tavallaan yksin. Ja verkossa ei ole paljon hyviä resursseja. Luin pääasiassa asiakirjoja ja käytin opetusohjelmia. Tässä ovat resurssit, jotka saivat minut lopulta tämän sertifikaatin kautta:

- d3Viennon D3.js-oppaat

- D3-asiakirjat

Vinkkejä opetussuunnitelman loppuun saattamiseen

Yhteenvetona voidaan todeta, että nämä asiat auttoivat minua eniten opintosuunnitelman loppuun saattamisen tavoitteen saavuttamisessa:

  • Käytä opetussuunnitelmaa tiekarttana, mutta täydennä muilla resursseilla
  • Älä jumitu pitkään: kysy kysymyksiä, Google, pariohjelma.
  • Aseta realistiset tavoitteet jokaiselle päivälle ja viikolle. Älä lyö itseäsi, jos olet viikko hitaampi: elämä tapahtuu. Älä anna sen heittää sinut kurssin ulkopuolelle.
  • Pidä motivaatiosi mielessä: se ajaa sinut läpi vaikeiden päivien.
  • Prioriteetti: sinun on vähennettävä aikaa, jonka vietät tekemällä muita asioita.
  • Älä unohda ottaa vapaapäiviä. Ne ovat elintärkeitä oppimisprosessille. Ja nukkua tarpeeksi!

FreeCodeCampin jälkeen tunsin olevani hieman eksynyt. Tämä oli etenemissuunnitelma, joka ohjasi minua matkalle opettajasta kehittäjään.

Muutaman päivän pohdinnan ja suunnittelun jälkeen omistauduin sivuprojektiini, jota rakennan mieheni kanssa. Opimme ja pidämme hauskaa, ja olemme siitä erittäin innoissamme.

Ja kyllä, sain työtarjouksen heti opetussuunnitelman valmistumisen jälkeen , mutta lisää siitä tulevasta artikkelista.

Kaiken kaikkiaan en olisi voinut oppia kaikkea, mitä olen oppinut niin nopeasti, ellei sitä olisi ollut freeCodeCamp, ja olen erittäin kiitollinen kaikille, jotka mahdollistavat tällaisen upean projektin.

Jos sinusta tuntuu samalta ja pystyt antamaan takaisin, harkitse lahjoittamista freeCodeCampille täällä.