Hvor lang tid tager Free Code Camp?

Jeg tilbragte slutningen af ​​vinteren i en soldrevet, komfuropvarmet kabine i det nordlige Utah. Der var ikke noget brusebad, men vi monterede en satellit på taget og formåede at trække hurtigere internet end min lejlighed i San Francisco. Jeg besluttede at lære at kode.

Jeg ville bruge isolationen til at lære noget nyt. Jeg har været teknisk sindet så længe jeg kan huske, men mine tidligere forsøg på kodning har givet uspektakulære resultater.

Jeg lærte noget C ++ i gymnasiet, men skrev for det meste gigantisk, gentagen kode, fordi jeg ikke forstod funktioner. Jeg tog et Visual Basic .NET-kursus i undergrad, men jeg har næsten nul hukommelse for, hvad der foregik der. Jeg arbejdede igennem Codecademys JavaScript-kursus for et par år siden fra en hængekøje i Guatemala.

Jeg tror, ​​at denne bugtede vej til ikke-fuldstændig læring forberedte mig på nogle måder. Jeg har også en grad i computergrafik, som var meget stærkere fokuseret på design, animation og modellering end den var på kodning, men det gav mig noget grundlæggende kendskab til HTML / CSS.

Der er skrevet meget om "hvorfor kodning", så jeg slår ikke en død hest her.

Den korte version er denne: smarte mennesker synes at være enige om, at det at vide, hvordan man koder, er en kraftmultiplikator for næsten alt andet i dit liv.

Efter at have gravet rundt online for at bestemme det bedste sted at starte, besluttede jeg at begynde at arbejde gennem Free Code Camp. Nummer to var The Odin Project, men Reddit syntes at være enig i, at FCC var det stærkere udgangspunkt. Og af en eller anden grund stoler jeg på Reddits bikubesind, når det kommer til disse ting.

Så jeg satte et lille indledende mål på 2 timer / dag og installerede RescueTime til at spore mig selv. Her er et glimt af, hvordan det gik.

DAG 1

Jeg arbejdede hurtigt gennem de første tre sektioner. HTML5 / CSS, Responsive Design med Bootstrap og jQuery havde en estimeret samlet afslutningstid på 13 timer, men ifølge RescueTime slog jeg dem ud på kun fire. På dette tidspunkt spekulerede jeg på, om jeg gjorde noget forkert, men jeg besluttede at lykønske mig selv og fortsætte.

DAG 3–4

Jeg havde været på rulle og bevægede mig jævnt gennem afsnittet Basic Javascript. Tidligt om morgenen på dag 3 begyndte jeg at føle mig fast for første gang på en profilopslagsøvelse, der involverede brugen af ​​en løkke til at gentage gennem en række objekter. Men kl. 22.30 var jeg kommet næsten halvvejs gennem Basic Algorithm Scripting (og ifølge RescueTime havde jeg brugt i alt 12 timer 20 minutter på Free Code Camp).

Den næste morgen begyndte jeg at pløje resten af ​​de grundlæggende algoritmer og skrev nogle af løsningerne på 3-5 minutter. Jeg bekræftede i FCC-chatten, at mange mennesker starter relativt hurtigt og bremser over tid, efterhånden som den relative vanskelighed øges (hvilket gør de estimerede afslutningstider mere realistiske).

Når det er sagt, ville jeg natten til den fjerde dag afvikle algoritmerne med i alt 18 timer på FCC (og anslået 22 timer samlet arbejdstællingstid brugt på andre forskningsressourcer som Mozilla Developer Network. på dette tidspunkt var 75 timer.

Mit oprindelige mikromål på 2 timer / dag havde efterladt mig at tænke, at jeg ville have afsluttet 100 timers arbejde, da jeg forlod mit skjulested i Utah. Nu da jeg blev virkelig inspireret af arbejdet, afsluttede jeg 75% af det sted, hvor jeg ville være på bare fire dage.

DAG 17

Jeg gik ind i hovedtone ned og tog ikke nogen fremskridtsnotater i to uger. Den dårlige nyhed er, at der er lidt at rapportere der, men den gode nyhed er, at FCC havde mig i en strømtilstand i to uger i træk. På dette tidspunkt havde jeg afsluttet en skeletportefølje (nu lidt kødigere) og bygget en Random Quote Machine samt en virkelig forfærdelig Lord of the Rings inspireret vejr-app. På dag 17 sendte jeg min Wikipedia Viewer. At lære at bruge API'er var sjovt og nyttigt. Det viser sig, at du kan bygge ting af medium kompleksitet uden at forstå back-end-servere eller databaser (du kan bare tilslutte en andens)!

DAG 23–24

Når jeg arbejdede gennem de mellemliggende algoritmer, begyndte jeg at se forskellen mellem ren og grim kode. Jeg begyndte også at integrere flere noter til min kode til senere gennemgang. På en eller anden måde tog det mig så lang tid at indse, at console.log (“tests”) altid blev spyttet ud i JS-udviklerkonsollen i browseren. Jeg var begyndt at bruge //repl.it til at køre kode, der ville vise konsolloggene som klar output. Det er lidt pinligt nu, men hej - jeg lod det ikke stoppe mig, og nu ved du bedre.

Jeg styrtede ned min browser for første gang ved at arbejde igennem Sum of All Primes. Uanset hvad arbejdede jeg i sidste ende med problemet og følte mig rigtig god med at få 99% af hovedfunktionen løst uden nogen ekstern forskning.

DAG 31–33

Jeg fandt de avancerede algoritmeudfordringer temmelig ... godt ... avancerede. Jeg var temmelig ekstatisk, da jeg afsluttede den avancerede algoritme “Friendly Dates Range” på bare 90 minutter. I to af disse avancerede algoritmer henviste jeg til specifikke funktioner fra StackOverflow for at hjælpe med renheden af ​​min kode. På det tidspunkt var jeg bekymret for, at dette måske kom til at skade mig, men mange ressourcer, jeg har stødt på, hævder, at det, der gør en god programmør, er evnen til at stille specifikke spørgsmål til en søgemaskine. For eksempel ville det være matematik på højt niveau og en genopfindelse af hjulet at oprette en JS-version af Heap's algoritme fra bunden. At finde en JavaScript-model, som jeg kunne arbejde fra, gjorde det muligt for mig at færdigbygge bilen.

På dag 33 afsluttede jeg den sidste af de avancerede kodningsudfordringer. Det næste projekt (det første af Advanced Front End Development-projekterne) krævede opbygning af en JS-lommeregner. Det var rart at grave tilbage i HTML / CSS-siden af ​​tingene. Jeg udfordrede udfordringen ved live kodning på FCCs Twitch-kanal og endte med at fuldføre projektet med et live publikum på 24 personer. Dette var en stor oplevelse, som krævede, at jeg forklarede min kode, da jeg skrev den. Live kodning har også et indbygget behov for at bevare momentum. Det belønner en "gå hurtigt og bryde ting" -stil af kodning over en mere forskningstung metode.

DAG 40

Kodning af Tic-Tac-Toe-spillet viste sig at være (for mig) det mest udmattende projekt af alle. For mig var kodning af AI ikke særlig sjov eller tilfredsstillende. Efter min mening havde mit slutresultat svag AI og en sub-par interface. På det tidspunkt spekulerede jeg på, om det måske ikke bare var min passion at opbygge interaktive ting som dette.

DAG 45

Jeg arbejdede sindssygt hårdt på det endelige projekt, der bad om en JavaScript-replika af 1970'ernes spil Simon, komplet med en valgfri "streng tilstand" og en stigende hastighed på spillet. Jeg var fast besluttet på at gøre det usædvanligt. I skrivende stund føler jeg stadig, at min Simon er en af ​​de mest flotte versioner derude. På dag 45 afsluttede jeg projektet og tog mit Front End-udviklingscertifikat!

Endelige statistikker:

77 timers reference og læring

67 timers softwareudvikling

41 timers kommunikation (inklusive FCC chat)

= 185 timer i løbet af 45 dage (eller ~ 4 timer / dag)

Jeg endte med at afslutte læseplanen på omkring halvdelen af ​​tiden.

Jeg kan ikke anbefale Free Code Camps Front End Dev-program nok. Uanset hvor lang tid det tager dig, er det gratis, det er let at starte, og det har et intelligent og tilgængeligt samfund (hvis jeg selv siger det).

Jeg havde fundet mig selv at føle mig intellektuelt sultet og lære at kode var en tilfredsstillende strækning for gamle mentale muskler. Jeg flytter tilbage til San Francisco og har til hensigt at fortsætte denne rejse til tech.

Hvis du lærer at kode, skal du behandle din uddannelse som det job, det er. Følg mig og lad mig vide, hvordan jeg kan hjælpe! Aldrig før har de enorme gevinster ved iterative fremskridt været så tydelige som når man lærer at kode.