Hogyan teljesítettem a teljes freeCodeCamp tananyagot 9 hónap alatt, miközben teljes munkaidőben dolgoztam

Az elmúlt évben befejeztem a teljes freeCodeCamp tananyagot, miközben teljes munkaidőben dolgoztam tanárként. Ebben a cikkben felvázolom, hogyan sikerült ezt megtenni. Különösen, hogyan szerveztem az időmet, és milyen kiegészítő anyagokat használtam.

Háttér

Először a hátsó történet. Nem voltam teljesen új a kódolás terén. Egy kis technológiai társaságban nőttem fel.

Apám még születésem előtt megalapította saját cégét, ahol különböző tevékenységeket végeztek a tech-en belül, például számítógépek javításával, internetes kapcsolatok és hálózatok létrehozásával más vállalatok számára, számítógépes tanfolyamok oktatásával és adminisztratív alkalmazások építésével a vállalatok számára. Ez egy kis város volt, így ők voltaképpen az egész város „tech srácai”.

A cég irodái a mi házunkban voltak, szó szerint szó szerint számítógépek és olyan emberek között nőttem fel, akik szerették őket. Gyerekként kezdtem el játszani a Visual Basic-szel (a társaság egyik sráca megtanította, hogyan kell használni), és minden szabadidőmet online töltöttem, társaimmal beszélgetve.

Körülbelül 12 éves koromban az egyik ilyen majom e-mailt küldött nekem egy webfejlesztési kézikönyvet (egy hatalmas .txt fájl, amely alapvetően a HTML-kel foglalkozott), és ezt használtam fel saját rajongói oldalam felépítésére. Még az egyik ilyen menő pult is volt.

Tároltam a Geocities-en, kaptam egy ingyenes rövid URL-t, és felsoroltam a Yahoo-n és az AltaVistán (ezek voltak akkor a legnagyobbak).

Ezt követően bekövetkezett az élet, és teljesen lemondtam a programozói gondolatról, mivel a körülmények megkövetelték a „reálisabb” megközelítést. Most nem térek ki a részletekre, de alapvetően le kellett mondanom a tanulásról és elhelyezkednem.

Tovább éltem az életemet. Megépítettem az alkalmi weboldalt apám ügyfeleinek, majd végül úgy döntöttem, hogy elkezdem tanítani az angolt, ami nekem könnyen jött, és alapvetően megfeledkeztem a webfejlesztésről. 2016-ig, vagyis.

Hogyan döntöttem úgy, hogy karriert váltok

Szeretek tanítani. Ez egy kifizetődő szakma, érdekes és szórakoztató. De vannak hátrányai. Az elején minden kihívásnak érezte magát, de annyi év után, hogy megtettem, kezdtem érezni, hogy nincs célom. Hogy már nem nőttem és nem tanultam.

Éreztem, hogy beragadtam. Mintha az én munkám is pontosan ugyanabban az évben volt. Éppen az indítványokon mentem keresztül. Ez sem kínált sok lehetőséget az átköltözésre, ami később nagyon fontos lett számomra.

2013-ban megismerkedtem a férjemmel, és a következő évben három hónapos hátizsákos kirándulásra indultunk Európába, ami egy teljesen más blogbejegyzés, de alapvetően rendkívül alacsony költségvetésű volt, és fantasztikus élményben volt részünk. Szerettük Európát, és úgy döntöttünk, hogy visszatérünk egy újabb hosszú útra.

Telt az idő, más dolgokat csináltunk, aztán megtaláltam a Codecademy-t, és elkezdtem vele játszani, és játszani azzal a gondolattal, hogy teljes munkaidős fejlesztő legyek. Már volt némi tapasztalatom olyan weboldalak felépítésében, amelyekben csak HTML és CSS található, de nincs JavaScript. Rengeteg sikertörténetet olvastam az interneten, de még mindig nem tartottam igazi karriernek, méghozzá távolról sem.

Közben a következő hosszú utat terveztük, pénzt takarítottunk meg, tervezés és így tovább. Egyre többször dolgoztam szabadúszó fordítóként, szuperül vettem részt a karrieremben, és olyan jó dolgokat fordítottam, mint regények és versek. Eljött 2017, és ezúttal is két hónapra Európába mentünk.

Ott egy csomó fejlesztővel találkoztunk. Őrült volt. Úgy tűnt, hogy minden egyes kanapés szörfös valahogy az informatikában van, akár szoftvertermék-menedzserként, fejlesztőként, tesztelőként stb. Mindannyian arra ösztönöztek minket, hogy kezdjünk el a technikában. Akkor már eldöntöttük, hogy Európába akarunk költözni, így sokan azt mondták nekünk: „Itt munkát találhat. A fejlesztőkre itt van kereslet, sok kell nekünk. ”

Mielőtt az utazás véget ért volna, elhatároztuk, hogy 2 éves műszaki bizonyítványt kérünk egy új, alapított műszaki egyetemen szülővárosunk közelében. A program főleg Java volt, így amikor visszatértünk, Java tanfolyamot indítottunk Couserában. Az első modul valójában egy JavaScript-tanfolyam volt, így azonnal bekapcsolódtunk a JavaScript-be.

Amíg megtanultuk a JavaScript-et, 2018 márciusában vártuk a tanév kezdetét. Az Uni-nak csak 50 helye volt, így szuper elkötelezettek és előre tanultunk. Elmentünk, teszteket tettünk, tanfolyamokat teljesítettünk, majd várni kellett, amíg eldöntötték. Az összes jelölt közül a legmagasabb pontszámot kaptuk, de ezek a pontok nem változtattak. A pontokat lottó rendszeren keresztül osztanák ki. A férjem bejutott, én pedig kimaradtam.

Úgy döntött, hogy inkább egyedül tanul, őt már nem érdekli annyira a Java, mert ragaszkodott a JavaScript-hez, ezért egyedül kezdtünk el tanulni.

A Codecademy-vel kezdtük, de ez túl kézben tartott számunkra (nem voltunk Premium számlák). Valahol olvastunk a freeCodeCamp-ról. És mi kezdtük, először nagyon lassan (az első bizonyítvány hónapokig tartott, mire megszereztem, igaz, középen megváltoztatták a tananyagot, és ledobtam a laptopomat, és meg kellett javítanom). Miután véget ért a nyári szünet, és visszatértem a teljes munkaidõbe, a dolgok megnehezültek.

Teljes munkaidőben dolgozni és teljes sebességgel csinálni az freeCodeCamp programot

Nem volt könnyű, nem fogok hazudni. Segített abban, hogy a legtöbb barátom és ismerősöm nem lakik a közelben, én pedig egy olyan kisvárosban élek, amely nem kínál sok szórakozási lehetőséget. Ebben az értelemben a programozás életmentő volt. Volt valami szórakoztató dolgom, és ez addiktív volt, így órákig tartó unalmat ölhettem meg vele.

Tehát ez sokat segített, amikor foglalkoztam azzal, hogy mennyi órát töltöttem szellemi munkával (tanítással és tanulással).

Az első igazolás hónapokig tartott, részben azért, mert vártam, hogy bekerüljek az Uni-ba, részben pedig azért, mert a tanév első 3 hónapjában napi 10 órát dolgoztam.

Sajnos nem tudtam csak abbahagyni a munkámat és teljes munkaidőben tanulni, mivel ki kellett fizetnem a számlákat, így 3 dologban kellett nagyon jónak lennem:

  1. Idő beosztás
  2. Fegyelem
  3. Szervezet

Idő beosztás

7-kor kezdtem a munkát, így a legtöbb nap 4: 30-kor kezdtem kelni. A napot freeCodeCamp kihívásokkal és kávéval kezdtem. Néha könyvből is olvastam, vagy más oktatóanyagokat készítettem, attól függően, hogy éppen min dolgoztam. Az ebédszünetben és a munka után is tanultam, de megbékéltem azzal, hogy a munka miatt nem voltam ilyen produktív a héten. Tehát a héten többnyire rövid kihívásokat, olvasmányokat stb. És dolgoztam projekteken hétvégén, ünnepnapokon és szabadidőben.

Ha lenne 30 percem, 30 percet olvasnék. Ha 15 volt, 15 percig tanulmányoztam. Napom minden egyes szabad pillanatát foglalkoztattam tanulással.

Vasárnap az étkezésem nagy részét a héten elkészítettem, így nem kellett főzéssel töltenem az időt, és nem kellett egészségtelen dolgokat fogyasztanom. Megterveztem és összegyűjtöttem mindazt, ami a héthez szükséges volt a munkához, így a normál munkaidő mellett nem kellett külön időt töltenem.

Szerencsére június után a munkaidőm 10 -12-ről 8-ra csökkent, így most rendes munkarendben dolgoztam, és ott kezdtem felvenni a tempót.

Fegyelem

Még olyan napokon is tanulnia kell, amikor nincs kedve hozzá. Itt van a motivációnak is nagy szerepe, de a fegyelem fontos - különösen, ha olyanok vagytok, mint én, és sokat eltereljük a figyelmet a közösségi médiáról és a macskákról szóló videókkal.

A legjobb tipp, amit adhatok neked, hogy leküzdhesd az online cikkek elolvasásának kísértését, a következő: ha olyan kérdéssel állsz elő a fejedben, hogy „hogyan repülnek a gépek?” (ami általában az a fajta kérdés, amely engem elragad és 30 percre beszippant) írd le valahova, és ígérd meg magadnak, hogy mindent elolvashatsz, miután befejezted, amit csinálsz.

Az esetek 99% -ában már nem fog érdekelni, mert ezek a kérdések csak azért merülnek fel az agyadban, mert el akarja zavarni. Tolja át, és meg fogja verni.

A fegyelem másik aspektusa, hogy a tanulást kell választania más dolgok helyett. Ez nem annyira szórakoztató rész. Sok-sok dologról le kellett mondanom, amelyeknek kedveztem a tanulásnak, és alig várom, hogy visszatérhessek hozzájuk. Csak azért tettem, mert a lehető leghamarabb fejlesztőként szerettem volna lenni (lásd alább a Motivációt), de még ha nem is rohansz olyan gyorsan, mint én, akkor azt tapasztalhatod, hogy sok időt töltesz olyan dolgokkal, bár élvezetesek és kedvesek, túl sok időt töltsön el.

Elsőbbséget kell élveznie és nehéz döntéseket kell hoznia.

Motiváció

Nagyon erős motivátorom volt, amely fejlesztővé vált és Európába költözött. Ez volt a célom hosszú-hosszú ideig, és eljutottam odáig, hogy elkeseredtem, hogy nem értem. Minden barátom elhagyta a várost, gyakorlatilag nincs itt családom, elszigeteltnek éreztem magam és el akartam menni.

Ez nyomott rám. Tűz érezte a lábam alatt, úgy éreztem, nincs más választásom. Erős motivációra van szükség a radikális változásokhoz. Nem tudok rólad, de egyfajta „ne javítsd ki azt, ami nem sérült meg” vagyok, ezért nagyon nehéz rávenni, hogy tegyek dolgokat csak a kedvéért.

Hobbim nagyon praktikus és eredményes: kertészkedés, jóga, főzés. Van rá okom, hogy megcsináljam őket (ingyenes zöldségeket akarok, fáj a hátam, éhes vagyok). Ha hasonlítasz hozzám, akkor meg kell találnod egy sárgarépát, hogy tovább menj.

Töltsön el egy kis időt ezen gondolkodva, mi az, amit pontosan el akar érni a freeCodeCamp befejezésével? Mit szeretnél ezen változtatni vagy megszerezni a személyes életedben?

A tanterv + Kiegészítő források

Az alábbiakban bemutatom azokat a kiegészítő erőforrásokat, amelyeket a freeCodeCamp utazásom során használtam. Ne feledje, hogy ez nem teljes körű felsorolás, mert rengeteg guglizást végeztem, és hogy néhány ilyen tanfolyam nem ingyenes.

Reszponzív webdesign: Ez volt az a rész, amellyel kapcsolatban már volt tapasztalatom, így könnyű és szórakoztató volt. Néhány kiegészítő forrást használtam, különösen a Flexboxhoz. Kedvenc helyem ehhez az Internetezés nehéz.

JavaScript algoritmusok és adatstruktúrák: Miután eljutottam a JavaScript modulokhoz, megragadtam. Minden nagyon szórakoztató volt, sokat tanultam, és alig vártam, hogy ezt a gyakorlatban is megvalósítsam.

Ebben a részben főleg könyveket használtam. Nekem már volt elég gyakorlatom a freeCodeCamp programmal, de többre volt szükségem a magyarázatokhoz. A JS kezdetén rengeteg gyakorlat is van.

  • A JavaScript 5. kiadásának kezdete
  • Nem ismered JS-t
  • Alapítványok programozása JavaScript, HTML és CSS használatával
  • JavaScript dokumentáció

Mire elértem ezt a szakaszt, csatlakoztam az 1 millió nő a Tech (1MWTT) Code of Summer programhoz is. Megtanultam az alapvető Python-t, valamint az alapvető és a fejlett JavaScript-eket, amelyek sokat segítettek, különösen az ígéretekkel.

A Python elsajátítása segített abban is, hogy megerősítsem néhány alapvető programozási koncepciót. Komolyan ajánlom, hogy amikor magabiztosnak érzi magát a JavaScript használatában, próbáljon ki egy új nyelvet, csak annak alapfogalmait. Utána sokkal kényelmesebb lesz, ha megtudja, hogyan kell ugyanezt csinálni különböző eszközökkel.

JavaScript keretrendszerek: Ez a szakasz is nagyszerű volt, mivel megalapozta a React és a Redux programokat. Már jártam egy React tanfolyamon az Udemy-n, a React 16.6 - A teljes útmutató (beleértve a React Router & Redux-t).

Nagyon ajánlom ezt a kurzust, és ugyanezen szerző más műveit. Hihetetlenül alapos és magyarázata félelmetes. Ez egyike volt azon kevés Udemy tanfolyamnak, ahol ténylegesen végig követtem az általa készített projektet: Általában megnézem a videókat, és mindenre alkalmazom az elveket.

1 millió womentotech-en volt egy React hetünk, amely főleg a React natív volt, majd elkezdtem vele játszani. Addigra elkezdtem dolgozni a mellékprojektemen is a férjemmel, amiről úgy döntöttünk, hogy PWA lesz a React-lel.

Nem hangsúlyozhatom, mennyire fontos, hogy semmiből felépítsen valamit. Pár hét alatt többet tanultam az alkalmazásunk felépítésénél, mint bármelyik tanfolyamon vagy oktatóanyagon.

API-k és mikroszolgáltatások: Ez a szakasz számomra nagy leleplezés volt, és mindent megváltoztatott. Egészen addig a modulig biztos voltam benne, hogy front-end fejlesztő akarok lenni, de miután megtanultam a Node.js-t, elkezdtem azon gondolkodni, hogy back-end vagy Full Stack fejlesztő legyek. Az API-k építése nagyon szórakoztató, és olyan gyorsan látja az eredményeket. Elkezdtem építeni az első kis Full Stack projektjeimet, és nagyon izgatott lettem.

Néhány általam használt erőforrás:

  • A teljes Node.js fejlesztői tanfolyam (2. kiadás)
  • Node Girls Intro a háttérfejlesztéshez az Express segítségével
  • Node Docs
  • Express Docs
  • NodeSchool
  • Bevezetés a Node.js fájlba
  • REST & GraphQL API tervezés a Node.js, v2 verzióban (az Express & MongoDB használatával)

Ez alatt az idő alatt önként jelentkeztem az „1MWTT” programra, és felkértek, hogy készítsen egy Probot alkalmazást a fedélzeten lévő önkéntesek számára a Node segítségével. Ez némi gyakorlatot is adott nekem a Node-nál, ami nagyon jó móka volt.

Minőségbiztosítás és információbiztonság: Ez a modul szemet nyitott. Addig soha életemben nem írtam egyetlen tesztet sem. Most szeretek teszteket írni, és még a tesztvezérelt fejlesztés iránt is nagyon érdekelt.

Leginkább ehhez a szakaszhoz használtam a dokumentumokat, de aztán úgy döntöttem, hogy kipróbálom a kezelőfelületemet is, és az Udemy-n találtam ezt a csodálatos tanfolyamot, amelyet nem tudok eléggé ajánlani. Az oktató messze a legjobb oktató, akit valaha láttam az Udemy-n. Alig várom, hogy bármilyen más tanfolyamot eljussak a jövőben.

- Chai docs

- Reagálás tesztelése Jest és Enzyme használatával

Adatmegjelenítés a D3-mal: Ez volt a legnehezebb tanúsítvány, le a kezével. A magyarázatok jók voltak, de miután eljutott a projektekhez, megtudta, hogy a kihívások csak az első projektre terjednek ki, a többiben pedig önmagában is kedves vagy. És nincs rengeteg jó forrás online. Elsősorban a dokumentumokat olvastam és oktatóanyagokat használtam. Itt vannak azok az erőforrások, amelyek végül megszerezték ezt a minősítést:

- D3.js oktatóanyagok a d3Vienno-tól

- D3 dokumentáció

Tippek a tananyag befejezéséhez

Összefoglalva: ezek a dolgok segítettek a legjobban a tananyag befejezésével kapcsolatos célom elérésében:

  • Használja a tananyagot útitervként, de egészítse ki más forrásokkal
  • Ne ragadjon sokáig: tegyen fel kérdéseket, Google, páros program.
  • Tegyen reális célokat minden napra és hétre. Ne verd magad, ha egy héten lassabb vagy: megtörténik az élet. Ne hagyd, hogy eldobja a pályától.
  • Tartsa szem előtt a motivációját: ez nyomja át a nehéz napokat.
  • Fontossági sorrend: csökkentenie kell az időt, amit más dolgokra fordít.
  • Ne felejtsen el szabadnapokat venni. Létfontosságúak a tanulási folyamat szempontjából. És aludj eleget!

A freeCodeCamp után kissé elveszettnek éreztem magam. Ez volt az útiterv, amely végigvezetett a tanártól a fejlesztőig vezető utamon.

Néhány napos elmélkedés és tervezés után elköteleztem magam a mellékprojektem mellett, amelyet a férjemmel építek. Tanulunk és jól érezzük magunkat, és nagyon izgatottak vagyunk emiatt.

És igen, azonnal kaptam állásajánlatot a tanterv befejezése után , de erről egy közelgő cikkről.

Összességében nem tudtam volna megtanulni mindazt, amit olyan gyorsan megtanultam, ha nem lett volna a freeCodeCamp, és rendkívül hálás vagyok mindenkinek, aki ilyen csodálatos projektet lehetővé tesz.

Ha ugyanezt érzi és képes visszaadni, kérjük, fontolja meg az adományozást a freeCodeCamp számára itt.