Mennyi ideig tart a szabad kódtábor?

A tél végét egy napenergiával működő, kályhával fűtött kabinban töltöttem Utah északi részén. Zuhany nem volt, de műholdat szereltünk a tetőre, és gyorsabb internetet sikerült behúznunk, mint a San Franciscó-i lakásom. Úgy döntöttem, hogy megtanulok kódolni.

Szerettem volna használni az elszigeteltséget, hogy valami újat tanuljak. Amióta csak emlékszem, technikailag gondoltam, de a korábbi kódolási kísérleteim nem látványos eredményeket hoztak.

Középiskolában tanultam néhány C ++ -ot, de főleg óriási, ismétlődő kódokat írtam, mert nem értettem a függvényeket. Vizsgáltam egy Visual Basic .NET tanfolyamot undergradban, de szinte nulla memóriám van arról, hogy mi történt ott. Néhány évvel ezelőtt a Codecademy JavaScript tanfolyamán dolgoztam át egy guatemalai függőágyon.

Úgy gondolom, hogy a nem teljesen tanulásnak ez a kanyargós útja bizonyos szempontból felkészített. Számítógépes grafikus diplomával is rendelkezem, amely sokkal nagyobb hangsúlyt fektetett a tervezésre, az animációra és a modellezésre, mint a kódolásra, de adott némi alapismeretet a HTML / CSS-ről.

Sokat írtak arról, hogy miért kell kódolni, ezért itt nem fogok elpusztítani egy döglött lovat.

A rövid változat a következő: úgy tűnik, az okos emberek egyetértenek abban, hogy a kódolás ismerete szinte minden más erő-szorzó az életedben.

Miután ásottam az interneten, hogy meghatározzam a legjobb kezdési helyet, úgy döntöttem, hogy elkezdek dolgozni a Free Code Campen keresztül. A második helyezett az Odin Project volt, de úgy tűnt, hogy Reddit egyetért az FCC-vel. És bármilyen okból bízom Reddit kaptár elméjében, amikor ezekről a dolgokról van szó.

Tehát kitűztem egy kis kezdeti célt, a napi 2 órát, és telepítettem a RescueTime-ot, hogy nyomon kövessem magam. Itt egy bepillantás a helyzetbe.

1. NAP

Az első három részt gyorsan átdolgoztam. A HTML5 / CSS, a Bootstrap-tal reagáló tervezés és a jQuery becsült teljes befejezési ideje 13 óra volt, de a RescueTime adatai szerint csak négyben ütöttem ki őket. Ezen a ponton elgondolkodtam azon, hogy rosszul cselekszem-e, de úgy döntöttem, hogy gratulálok magamnak, és tovább haladok.

NAP 3–4

Voltam egy tekercsben, és simán haladtam az Alap Javascript szakaszban. A 3. napon kora reggel kezdtem el először elakadni egy Profile Lookup gyakorlatban, amely során egy hurok használatával sokféle tárgyat ismételgettem. De 22: 30-kor már majdnem a felénél túlléptem az algoritmus-szkripteket (és a RescueTime szerint összesen 12 órát és 20 percet töltöttem a Free Code Camp-en).

Másnap reggel elkezdtem szántani a többi alapvető algoritmust, néhány megoldást 3-5 perc alatt megírtam. Az FCC csevegésében megerősítettem, hogy sokan viszonylag gyorsan indulnak, és az idő múlásával lelassulnak, mivel a relatív nehézség növekszik (így a becsült befejezési idők reálisabbá válnak).

Ez azt jelenti, hogy a negyedik nap éjszakájáig összecsomagoltam az algoritmusokat, összesen 18 órával az FCC-n (és a becslések szerint 22 órás teljes munkaidővel, amelyet más kutatási forrásokra, például a Mozilla Developer Networkre fordítottam). ezen a ponton 75 óra volt.

Az eredeti napi 2 órás mikrocélom arra gondolt, hogy 100 órás munkát végeztem, mire elhagytam a utahi rejtekhelyemet. Most, hogy igazán megihletett az a munka, amelynek alig négy nap alatt elvégeztem a kívánt hely 75% -át.

17. NAP

Nagy fejjel lefelé módba léptem, és két hétig nem készítettem előrehaladási jegyzeteket. A rossz hír az, hogy keveset lehet ott beszámolni, de a jó hír az, hogy az FCC két hétig áramlási állapotban volt. Ekkorra elkészítettem egy csontváz-portfóliót (most kissé lenyűgözőbb), és felépítettem egy Véletlen Idézet Gépet, valamint egy igazán borzasztó Gyűrűk Ura ihlette időjárási alkalmazást. A 17. napon beküldtem a Wikipedia Viewert. Az API-k megtanulása szórakoztató és hasznos volt. Kiderült, hogy közepes összetettségű dolgokat készíthet a háttérszerverek vagy adatbázisok megértése nélkül (egyszerűen csatlakoztathat valaki máshoz)!

23–24

A köztes algoritmusok átdolgozása során azt tapasztaltam, hogy kezdem látni a különbséget a tiszta és a csúnya kód között. További megjegyzéseket is elkezdtem beágyazni a kódomba, hogy később felülvizsgálhassam őket. Valahogy ennyi időbe telt, mire rájöttem, hogy a console.log („tesztek”) mindig kikerülnek a böngésző JS fejlesztői konzoljából. Elkezdtem használni a //repl.it programot egy olyan kód futtatásához, amely tiszta kimenetként jeleníti meg a konzol naplóit. Valahogy kínos, de hé - nem hagytam, hogy megállítson, és most már jobban tudod.

A Sum of All Primes segítségével dolgoztam le először a böngészőmet. Ettől függetlenül végül kidolgoztam a kérdést, és nagyon jól éreztem magam abban, hogy az elsődleges funkció 99% -át mindenféle külső kutatás nélkül megoldottam.

NAP 31–33

Megtaláltam az Advanced Algorithm kihívásait… jól… haladva. Eléggé eksztatikus voltam, amikor mindössze 90 perc alatt befejeztem a „Friendly Dates Range” haladó algoritmust. Ezen fejlett algoritmusok közül kettőben a StackOverflow egyes funkcióira hivatkoztam, hogy segítsek a kódom tisztaságában. Abban az időben, amikor aggódtam, ez visszatérhet, hogy bántson, de sok olyan forrás, amellyel találkoztam, azzal érvelnek, hogy ami egy nagy programozót jelent, az a képesség, hogy a keresőmotorhoz konkrét kérdéseket tesz fel. Például a Heap algoritmusának JS verziójának a semmiből történő létrehozása magas szintű matematikát jelentene, és újratervezné a kereket. Megtalálni egy olyan JavaScript-modellt, amelyen dolgozhatnék, lehetővé tette, hogy valóban befejezzem az autó építését.

A 33. napon lezártam az utolsó haladó kódolási kihívást. A következő projekt (az első az Advanced Front End Development projektek közül) egy JS kalkulátor felépítését igényelte. Jó volt visszasúrolni a dolgok HTML / CSS oldalába. Vállaltam a kihívást az FCC Twitch csatornájának élő kódolásával, és végül 24 fős élő közönséggel fejeztem be a projektet. Ez nagyszerű tapasztalat volt, amely megkövetelte, hogy magyarázzam el a kódomat, miközben írtam. Az élő kódolásnak beépített igénye van a lendület fenntartására is. A „mozogj gyorsan és törd meg a dolgokat” stílusú kódolást jutalmazza egy kutatásigényesebb módszerrel.

40. NAP

A Tic-Tac-Toe játék kódolása (számomra) a legfárasztóbb projektnek bizonyult. Számomra az AI kódolása nem volt túl szórakoztató vagy kielégítő. Véleményem szerint a végeredményem gyenge AI-val és alulpar interfésszel rendelkezett. Akkor arra gondoltam, hogy talán az ilyen interaktív dolgok építése nem egyszerűen az én szenvedélyem?

45. NAP

Őrülten keményen dolgoztam az utolsó projekten, amely egy 1970-es évekbeli Simon játékának JavaScript-másolatát kért, opcionális „szigorú móddal” és növekvő játéksebességgel kiegészítve. Elhatároztam, hogy kivételessé teszem. Az írás kezdetén még mindig úgy érzem, hogy az én Simonom az egyik legjobban kinéző verzió. A 45. napon befejeztem a projektet és megszereztem a Front End Development tanúsítványomat!

Végső statisztika:

77 órás referencia és tanulás

67 órás szoftverfejlesztés

41 órás kommunikáció (az FCC csevegést is beleértve)

= 185 óra 45 nap alatt (vagy ~ 4 óra / nap)

Körülbelül az idő felében fejeztem be a tananyagot.

Nem tudom eléggé ajánlani a Free Code Camp Front End Dev programját. Függetlenül attól, hogy mennyi időbe telik, ingyenes, könnyen elindítható, intelligens és hozzáférhető közösséggel rendelkezik (ha én magam is így mondom).

Rájöttem, hogy intellektuálisan éhezem, és a kódolás megtanulása kielégítő nyújtást nyújt a régi mentális izmoknak. Visszaköltözök San Franciscóba, és folytatni kívánom ezt az utat a technikával.

Ha kódolást tanul, kezelje oktatását úgy, mint amilyen munkát végez. Kövess engem, és tudasd velem, hogyan tudok segíteni! Még soha nem volt olyan egyértelmű az iteratív haladás nyeresége, mint a kódolás elsajátításakor.