Miért kódoltam minden nap egy évig, mit tanultam, és hogyan tudod megtenni?

Karriert akartam váltani. A mai világ egyáltalán nem ugyanaz, mint amiben szüleink nőttek fel. Következésképpen a szüleim által nekem adott karrier-tanácsok nagy része már nem volt releváns a mostani táj szempontjából.

Karrierem volt egy olyan területen, amelyet élveztem, de egy olyan iparágban, amely haldoklik. Úgy tűnik, csak egy kis maroknyi iparág virágzik ma. Úgy tűnik, a barátaim, akik a szoftveriparba kerültek, elégedettek szakmájukkal. Ha akkor tudtam volna, amit most tudok, akkor 10 évvel ezelőtt elkezdtem volna ezt a folyamatot. Nem ott akarok lenni, ahol a világ tart.

Elhatároztam, hogy ezt megvalósítom. Ez azt jelentette, hogy nem halasztotta el. Azonnal nekiláttam, hogy további 10 év múlva ne nézzek vissza, és azt mondjam: "bárcsak sokkal korábban elkezdtem volna ezt elkezdeni".

Ezért úgy döntöttem, hogy egy évre minden nap kódolok. Hadd meséljek a tapasztalataimról.

A kezdet

Azzal kezdtem, hogy kutattam a kódolás elsajátításáról. Olyan dolgokat találtam, mint a Codecademy és a freeCodeCamp, ingyenes forrásokat a lábam nedvesítésére. Sokat kellett tanulni, és ez egy hosszú út volt, amely sok fegyelmet igényelt. De, gondoltam, minél több munkát fektetek bele most, annál jobban megtérül később.

És akkor felfedeztem egy cikket, amely erről a kihívásról beszélt, a # 100DaysOfCode nevet viseli . A kihívás teljesítésének két fő követelménye van:

  1. Kódoljon legalább egy órát minden nap, 100 egymást követő napon
  2. A # 100DaysOfCode hashtag segítségével mindennap tweetelheti az elért eredményeket

Tehát ez egy olyan rendszer, amely struktúrát, irányt és nyilvános elszámoltathatóságot biztosít Önnek, hogy a pályán maradhasson. És ez nagyszerű módnak tűnt, hogy motiváljam magam és tartsam ezt a fejlődést.

Így minden nap elkezdtem tweetelni a twitter.com/PolarisTLX fiókomból, valamint egy Facebook-csoportba.

Az ötlet az volt, hogy minden nap kódoljon, szokássá változtatva. Nem engedhettél meg magadnak olyan kifogásokat, amelyeket általában megfogalmaznál, amikor elodázol valamit. Ez jelentős előrelépéseket „kényszerít” az idő előrehaladtával, amelyek elérése egyébként sokkal hosszabb időt igényelne, vagy egyáltalán nem érné el.

Vannak további előnyök is. Mivel a kódolás olyan fogalmakat foglal magában, amelyek folyamatosan egymásra épülnek, ezért ha több napig telik el kódolás nélkül, akkor elég sok tudás elvész.

Ettől eltekintve a # 100DaysOfCode alapítója üdvözli Önt, hogy saját maga legyen. Tehát, hogy valóban felgyorsítsam a tanulásomat, és hogy jelentős előrelépéseket tegyek a fejlesztői munkaköröm elérése érdekében kitűzött célom elérése érdekében, valójában a napi kihívás helyett napi egy óra helyett teljes munkaidőben szántam rá magam. És utána elértem azt a varázslatos 100 napos határt.

Én azonban még mindig nem voltam készen áll a munkára. Egyszerűen sok mindent meg kellett tanulnom. De nagy előrehaladást értem el, és elhatároztam, hogy folytatom, míg végül megkapom ezt a munkát. Ezért úgy döntöttem, hogy folytatom a 150, 200, 250 napot ...

Legnagyobb sikerei

És így elértem a 365 napot! Íme néhány fő dolog, amit egy éven keresztül minden nap kódolással tudtam megvalósítani:

  • Tucatnyi kódolási oktatóanyag, tanfolyam és könyv elkészült
  • Megoldott több mint 100 algoritmust és interjúkódolási kihívásokat
  • Megszerezte a „ Front End Developer” és a „ JavaScript Algorithms and Data Structures Projects” tanúsítványokat a freeCodeCamp-tól
  • Részt vett egy kétnapos hackathonon, ahol kiválasztották a projektet, hogy bemutassák a társaság igazgatósági tagjainak. Ezután úgy döntöttek, hogy továbblépnek a következő fejlesztési szakaszba
  • Fogadott egy teljes idejű szoftverfejlesztő programba, kevesebb mint 1% -os elfogadási aránnyal
  • Közreműködött a freeCodeCamp béta kibővített tananyagban
  • Írta a tananyag tartalmát az Odin Project új Ruby tantervéhez, hogy segítse a többi pályára lépő fejlesztőt a kódolás megtanulásában
  • Felépített egy működő Facebook klónt, a teljes hátteret és a kezelőfelületet teljesen a semmiből, és éljen a Heroku-val, mint a portfólióm egyik kiemelt projektem
  • Megszületett az első rendszeres jövedelem, távolról dolgoztam egy ügyfélnél, ami végleges felvételhez vezetett

Ez az utolsó pont, a rendszeres jövedelem és a teljes munkaidős pozíció megszerzése , az összes korábbi eredményem fénypontja és csúcspontja, amely elvezetett erre a pontra. De ez nem könnyedén fogható törekvés.

Nem könnyű kihívás

Az előző munkahelyem elhagyása a céljaim elérése érdekében azt jelentette, hogy több időm volt - de ez azt is jelentette, hogy többet voltam a vonalon. Sokan nagy ambíciókkal járnak be ebbe, és olyan magasztos célokat tűznek ki maguk elé, amelyeket nem tudnak elérni. Tehát sok ember számára valószínűleg az a legjobb, ha betartja az ajánlott napi egy órát.

De azt figyeltem meg, hogy a legalapvetőbb kritériumok mellett is a legtöbb ember, aki megpróbálja ezt a kihívást, kudarcot vall. Sokan azzal kezdik a # 100DaysOfCode-ot, hogy programozóként helyezkedjenek el (szó szerint több tízezer ember a világ minden tájáról), de közülük kevesen valósítják meg céljukat.

És ennek ellenére rengeteg minőségi forrás és útmutató található, amelyek közül sok még ingyenes is . Ez csak egy egyszerű valóság, hogy az emberek többsége a végéig nem látja céljait. Elsősorban az elszántság és a kifogások hiánya miatt buknak el.

Számos olyan csoportot fedeztem fel, amely tele volt olyan emberekkel, akik megpróbálták megtanulni a kódolást. Néhányat közülük találtam:

  • 30 napos JavaScript
  • 30 napos reakció
  • spin-offok, mint a 180 napos kód
  • Laza csatornacsoportok, akik elkötelezték magukat egy adott kódkönyv kidolgozása mellett, azzal a céllal, hogy minden héten végezzenek egy fejezetet, és megvitassák / összehasonlítsák a jegyzeteket.

E csoportok mindegyikében a résztvevők aktívak, lelkesek és elhatározták, hogy mindent megtesznek annak érdekében, hogy megszerezzék ezt a munkát ... az első héten.

Ekkor gyorsan elkezdődnek a kifogások, a késések és a meg nem jelenések. A csevegések egyre csendesebbek, a bejegyzések és a frissítések ritkábbak lesznek. Ezek az új miniközösségek mindannyian máglyaszórásként kezdenek, majd gyorsan elgyengülnek egy gyertyáig, és elillannak.

Gyakran még mindent megtettem, hogy megpróbáljam másokat arra ösztönözni, hogy tartsák fenn a lelkesedést és lendületet. Felajánlom, hogy segítek minden olyan tagot, aki valamin elakadt vagy segítségre szorult. Alternatív magyarázatot adnék egy koncepcióra, amellyel küzdöttek (még akkor is, ha nem voltam admin vagy csapatvezető).

Egy év alatt végzett megfigyeléseim alapján úgy becsülem, hogy minden tízezer emberből, aki évente elkezdi megtanulni az online kódolást, világszerte kevesebb mint 100 ember áll ki pár hónapon túl.

Azok, akik feladják, nem fogják elérni céljaikat. Akik határozottak és folyamatosan tartják, azok kapnak munkát.

Tehát hogyan csináltam - és hogyan tudod?

Számos dolgot tehet annak érdekében, hogy jó úton haladjon és elérje céljait. Ezek közül néhányat a fentiekben ismertetünk, és a következőket tartalmazza:

  • adva némi struktúrát és elszámoltathatóságot a # 100DaysOfCode hasonlóval
  • apró növekményes célok kitűzése és elérése
  • páros programozás
  • csoportok keresése csatlakozáshoz és együtt tanuláshoz

Annak ellenére, hogy ezek a csoportok nem igazán bírtak és teljes egészében nem jártak sikerrel, mégis hasznos volt számomra a csatlakozás. Nem akartam hagyni, hogy a körülöttem lévő emberek alacsony elkötelezettsége és vereségei hatással legyenek a saját elhatározásomra, hogy tovább haladok.

A legfontosabb, amit tettem

Meg kell értenie, hogy ha olyan ambiciózus célja van, mint például a kódolás megtanítása, némi áldozatot igényel. Hajlandónak kell lenned erre.

Társadalmi életem gyakran háttérbe szorult, csakúgy, mint a videojáték időm, és nem tartottam lépést a Netflix legújabb forró műsorával. Volt olyan nap is, amikor igazán nem volt kedvem hozzá, de „némi” előrelépést kellett elérnem. Emlékeztetned kell magadra, hogy a késedelmes kielégülésről van szó, rövid távú áldozatokról a hosszú távú nyereség érdekében.

Egyéb dolgok, amelyek segítettek nekem

A WakaTime és a Clockify programokat is használtam, hogy nyomon kövessem, hány napot töltöttem a kódolással minden nap. Ez további ösztönzést adott nekem, mivel a napi vagy heti átlagom legyőzésére törekedtem. Rendszeresen még nagyon magas rangot is szereztem globális vezető testületeikben.

Van valami mondanivaló is azért, ha fizetünk valaminek. Sokáig sikerült teljesen ingyenes forrásokat találnom. Az elején nagyon ajánlom, hogy ragaszkodjon az ingyenes forrásokhoz, legalábbis az első pár hónapban . Ez lehetőséget ad arra, hogy megtudja, valóban élvezi-e ezeket a dolgokat, vagy nem neked való. Ha úgy dönt, hogy nem neked való, vagy mégis élvezi, de csak pár hónapig nem bírja, akkor az időn kívül nem sokat veszít.

De ezek után azt tapasztaltam, hogy néhány fizetett forrás valóban jobb, mint néhány ingyenes. Valójában a pénz eldobása önmagában valódi motiváló hatást gyakorol néhány emberre, akiknek további motivációra van szükségük. Gyakran nagyobb az esély arra, hogy valamit komolyan vegyen, ha fizetett érte.

Jogi nyilatkozat

Őszinte vagyok abban, hogy elismerem, hogy egy marok napot hiányoltam ebben az időszakban. De a nyilvános bejegyzéseimben mindig is előrelátó voltam. A kihívás alapítója ezt a témát mondja:

„Ide-oda kihagyhat egy-egy napot a nem tervezett helyzeteknél, de többet nem ... Megengedhet egy napot kihagyni (de aztán pótolhatja azt, ha még egy napot ad hozzá a 100 végéhez). A cél az, hogy következetes legyél, függetlenül attól, hogy az élet mit dob ​​rád. ” - Alexander Kallaway, a # 100DaysOfCode készítője

A haladás és az eredmény az, ami igazán fontos, és ez a gyakorlat lényege. Sokkal biztatóbbnak találtam, hogy csak a kihagyott napokat birtokolom és folytatom, szemben a számláló minden egyes alaphelyzetbe állításával. És összességében sokkal produktívabb leszek, ha szabadnapokat veszek, mindaddig, amíg ez csak nagyon ritka esetekben volt, amikor nagyon kellett.

A hiányosságok között szerepelt anyukám 60. születésnapja , egy legénybúcsú táborozás és karácsony. Egyébként nem volt mentség. Kódoltam szilveszterkor és szilveszter napján. Kódoltam, amikor beteg voltam,és még a reggeli előtt bementem a műtét, és a nap a műtét után. ?

Nagyjából a GitHub profiloldalamon láthatja, milyen napokat hiányoltam: //github.com/PolarisTLX. Néhány hiányosság azonban azt az időt jelzi, amikor távoli régiókban voltam internet-hozzáférés nélkül, és nem tudtam kódot kötni a GitHub-hoz. De azt a célt tűztem ki, hogy töltsek egy kódoló könyvet egy táblagépre, amelyről meggyőződtem, hogy teljesen feltöltöttem-e, mielőtt elmennék. (Nem ez a kedvenc módszerem a kód megtanulására, de jó lehet, ha kicsit megváltoztatom a tanulási módszert, és alkalmanként más médiumot próbálok ki.)

Végül hiányzik egy napos korai csoport. Ez azért történt, mert töröltem egy GitHub-adattárat, amikor elkeseredtem egy összevonási konfliktus miatt, és csak úgy döntöttem, hogy törölöm az adattárat, és kicserélem az adatokat egy újba. Nem tudtam, hogy ez majdnem egy hét kötelezettségvállalást töröl a nyilvántartásból. * asztali flip *

365 napos haladás-összefoglalóm

Tehát 365 nap alatt a következő eredményeken mentem keresztül:

  • a kódszerkesztő használatának megtanulása és egyszerű statikus weboldalak készítése
  • funkcionális számológépek és időjárási alkalmazások építése
  • egyszerű interaktív 2D platformos játékok felépítése
  • kényelem a több nyelvet, keretrendszereket és operációs rendszereket magában foglaló, teljes veremű fejlesztés, valamint a teljes RESTful közösségi oldal létrehozása a semmiből (ahol a felhasználók a választott jelszóval regisztrálhatnak, közzétehetnek, lájkolhatnak és megjegyzést írhatnak, feltölthetik saját fényképeiket, eseményeket hozhatnak létre, küldje el és fogadja el baráti kéréseit, eseményhívásait más felhasználókkal stb.)
  • tananyag készítése, amely segít a többi pályázó fejlesztőnek megtanulni a kódolást.

Eljutottam egy olyan ponthoz, ahol a potenciális ügyfelek és munkaadók a technológiai térben most eszközként tekintenek rám. Most fizetnek a kódért, mivel létrehozhatom azt, amit akarnak, megoldhatom a problémáikat, és valódi értéket kínálok. A munka megtérül, és csak tovább fogok javulni.

Remélem, tetszett olvasni az utamról. Erősen ajánlom, hogy próbálja ki a # 100DaysOfCode kihívást. Ha tetszett a bejegyzés, kérlek tapsolj? hogy terjessze a szót és motiválja másokat.