Hvordan jeg spilde to år af mit liv på at lære webudvikling, inden jeg opdagede Free Code Camp

Det var for to år siden. En tid før Free Code Camp overhovedet eksisterede. Jeg googlede "hvordan man bliver webudvikler", og en lang liste med sprog dukkede op. Jeg undersøgte noget, og det virkede som Ruby var det mest populære sprog.

”Hvis jeg lærer Ruby om 4 måneder, kan jeg bygge seje ting! Måske endda blive ansat som juniorudvikler og lære endnu flere seje ting! ” Tænkte jeg for mig selv.

Dette var den mest vildfarne idé, som min hjerne nogensinde havde undfanget. Husk, på dette tidspunkt havde jeg næppe rørt HTML, endsige CSS og JavaScript.

Efter at have søgt efter nogle bøger fandt jeg en meget vel modtaget begynderbog om programmering kaldet "Lær at programmere" af Chris Pine. Det introducerede mig til det grundlæggende ved programmering.

Hvert kapitel havde flere enkle algoritmeproblemer, som du kunne gennemføre som en gennemgang. Efter omkring en måned at have arbejdet igennem bogen i mange timer hver dag, var jeg til sidst i stand til at løbe igennem hele bogen på en enkelt dag og løse alle problemer inden for få minutter.

På dette tidspunkt havde jeg et ret stort ego, og jeg følte at jeg var ret god til at være programmør. Jeg tænkte, ”Hej, jeg kan løbe igennem denne bog på en dag. Jeg er programmør! Ret?"

Jeg tog utroligt fejl. Jeg havde kun skrabet overfladen af ​​et gigantisk isbjerg, der aldrig rigtig har en base, men snarere fortsætter med at udvide sig, jo dybere du går ned.

Som en forfader for tusinder af år siden, der udforskede en hel ø og indså, at der over havet er der en hel verden, over skyerne er der et helt univers.

Med kraften fra Sublime Text 2, Ruby og en bog tænkte jeg, at jeg kunne skabe alt, hvad jeg forestillede mig. Nu to år senere indser jeg, at det simpelthen var langt fra virkeligheden.

Hvis jeg kunne gå tilbage i tiden og tale til mit tidligere jeg, ville jeg fortælle ham, at realiteterne i hans ambitioner er større, end han kunne forstå, og at dette er en lang slidende rejse, bør tages alvorligt. ”Stop med at behandle programmering som et spil, fordi dit liv afhænger af det. Og om to år vil du indse, hvor alvorligt dette virkelig er, og hvor meget tid du har spildt. ”

Måske skulle jeg ikke være for hård med mig selv. Efter alt, vidste jeg ikke rigtig, hvor jeg skulle starte. Jeg havde en bog og ville løbe igennem kurset på Codecademy.

I løbet af denne tid vidste jeg ikke, hvad en udviklingsstak var, for ikke engang at nævne omfanget af back-end-udvikling og front-end-udvikling. Min idé på det tidspunkt var, at du vælger et sprog, kode nogle ting, og alt skal fungere som magi. Ingen gav mig et overblik over, hvordan udviklingsprocessen med at opbygge en webapplikation var.

Selv efter at have afsluttet bogen "Lær at programmere" vidste jeg, hvordan man kodede nogle algoritmer, men jeg havde ingen idé om, hvilket formål de ville tjene i en applikation, bortset fra at løse de dumme udfordringer i slutningen af ​​et kapitel.

Dette var dybest set min læring, der oplevede i omkring to år. Jeg sprang bare blindt fra den ene online ressource til den næste, ikke sikker på, hvordan hvert stykke teknologi bundet sammen med de andre, eller hvad jeg kunne bygge med det.

Så skete der noget godt. Jeg opdagede Free Code Camp. Jeg husker, at jeg havde læst beskrivelsen på forsiden. Jeg tænkte ved mig selv, ”Jeg kan få et job, hvis jeg gennemfører denne læseplan ?! Er du sikker? Det ville ikke skade at prøve. Jeg har allerede gennemført hvert kursus på Codecademy, og jeg kan løbe igennem en hel bog på en enkelt dag! Hvor svært kan dette være? Et stykke kage. Hvis jeg er færdig med Free Code Camp, og jeg ikke kan få et job, så skriver jeg en forfærdelig anmeldelse og kalder det en fidus! Det er hvad jeg vil gøre! ”

Så så begyndte jeg ...

Jeg kiggede og læseplanens layout. Det var simpelt, men en ting fangede min opmærksomhed. Når du er færdig med alt, i slutningen af ​​læseplanen, var der ... den strålende adgang til nonprofit-muligheder, der ville give mig mulighed for at få den virkelige verdenserfaring OG have en positiv ændring i verden! Det lyder ret forbandet vidunderligt! Jeg vil virkelig arbejde på det!

De første par vejpunkter på HTML og CSS var et stykke kage. Jeg pløjede igennem dem. Selvfølgelig var jeg det. ”Jeg er en pro i dette, duh,” tænkte jeg ved mig selv.

Så ramte jeg JavaScript-udfordringerne. “Wow, alt dette er bare en gennemgang af det, jeg allerede ved! Pfff ... Jeg er allerede halvvejs færdig! ” Jeg troede uvidende.

Så ramte jeg algoritmeudfordringerne ...

? De første par var ret lette. Men så på den femte ramte virkeligheden. Det var en simpel opgave. Bare skriv det første bogstav i hvert ord med store bogstaver. Logisk var det let. Men jeg kunne ikke gøre det. Det var da jeg indså, at jeg ikke var egnet til at være webudvikler.

"Hvis jeg ikke kan bede min computer om at bruge store bogstaver i hvert tegn i hvert ord, hvordan skal jeg være i stand til at opbygge rigtige applikationer, der gør langt mere end bare det?" Jeg troede.

Selvfølgelig ville jeg ikke give op så let. Jeg vil aldrig lade computeren besejre mig. Jeg er et menneske - den samme art, der skabte denne maskine. Hvis jeg vil befale det at gøre noget, finder jeg en måde. Jeg er dens øverstbefalende.

Efter mange timers googling lykkedes det mig at komme med en kode, som jeg selv skrev, og jeg klikkede på den grønne "send" -knap, og den gik forbi.

Det var da der skete noget særligt. Jeg følte det travlhed, du kun får, når du bruger timer på at prøve at finde ud af, og så endelig se, at alle dine tests er bestået. Dette var bogstaveligt talt et af de mest tilfredsstillende øjeblikke i mit liv.

Mere tilfredsstillende end noget øjeblik i noget spil, jeg nogensinde har spillet. Jeg var hooked. Jeg ønskede at færdiggøre hver algoritme, for for mig var hver algoritme en chef, som jeg var nødt til at besejre, og hver chef, jeg besejrede, ville give mig oplevelsespoint, der ville niveauere mig op til en mere dygtig koder.

Jeg vidste, at jeg skulle besejre hver chef og blive en bedre kode. Det jeg ikke vidste var, at det ville tage mig seks hårde måneder.

Ja, det tog mig seks måneder at gennemføre alle algoritmerne. Men jeg gennemførte også alle frontendprojekterne, så jeg gætter på, at jeg ikke var for lurvet.

På dette tidspunkt havde jeg brugt ca. 1.000 timers arbejde i FreeCodeCamp. Min forståelse af JavaScript-kodning var langt bedre end da jeg oprindeligt startede. Jeg befandt mig i at stirre på min computer i meget lange timer, og ved mange lejligheder ville jeg se solopgangen.

Jeg lærte at skrive algoritmer, der kontrollerede for korrekt formatering, manipulerede sætninger, afkodede koder, beregnet en planets gennemsnitlige højde i sin orbitale periode, bygget en fuldt funktionel lommeregner og mere. På kun seks måneder lærte jeg at gøre alle disse ting.

Jeg spillede rundt med Node, Express og Angular og undersøgte MEAN-stakken ved at kigge ind i eksempler på projekter. Jeg begyndte at forstå, hvordan webapplikationer blev lavet. Og det var da jeg indså, at Free Code Camp er den rigtige aftale.

Det har været næsten et år siden jeg begyndte at arbejde på Free Code Camp, og jeg har stadig ikke nået den nonprofit sektion, som jeg har haft hjertet på. Men det betyder ikke noget, for det færdighedshopp, jeg har lavet mellem da jeg først opdagede Free Code Camp, og nu er forbløffende. Hvis Free Code Camp havde været tilgængelig, da jeg gik i gymnasiet, kan jeg kun forestille mig det niveau, jeg ville være på lige nu, eller hvor langt jeg ville være i forhold til min karriere.

Det mest latterlige ved alt dette er naturligvis, at Free Code Camp er gratis. De tilbyder et fantastisk samfund, en full stack-læseplan, der konstant opdateres, og muligheden for at få reel arbejdserfaring, mens du hjælper nonprofitorganisationer. De har endda deres egen jobopslag! Jeg er skeptisk over for, at mange undervisningsopladende kodende bootcamps endda tilbyder så meget indhold og mulighed som Free Code Camp gør.

Endelig vil jeg gerne sige, at Free Code Camp er meget hårdt. Men det er det, der gør det så godt. Det giver et realistisk overblik over, hvad der kræves for at blive udvikler. Afslut læseplanen, så bliver du udvikler. Det er simpelt. Det er svært. Det er rigtigt. Alt du skal gøre er at fortsætte, indtil hver udfordring på kortet er afkrydset.

Jeg har stadig omkring 1.000 flere timer tilbage på grund af deres nyligt tilføjede indhold. Men hver time oversættes til flere færdigheder, som jeg kan tilegne mig, så jeg kan blive den udvikler, som jeg stræber efter at være.

Det er en ganske lang rejse, og jeg kan falde uden for tidsplanen eller kæmpe, men jeg nyder hver eneste smule af det.