Koliko traje besplatni kodni kamp?

Kraj zime proveo sam u kabini na solarnu energiju s grijanom peći u sjevernoj Utahu. Nije bilo tuša, ali postavili smo satelit na krov i uspjeli uvući brži internet od mog stana u San Franciscu. Odlučio sam naučiti kodirati.

Htio sam iskoristiti izolaciju da naučim nešto novo. Tehnički sam razmišljao otkad se sjećam, ali moji prošli pokušaji kodiranja dali su nespektakularne rezultate.

Naučio sam neki C ++ u srednjoj školi, ali uglavnom sam napisao velikan, ponavljajući kôd jer nisam razumio funkcije. Pohađao sam Visual Basic .NET tečaj u undergradu, ali gotovo se nula sjećam što se tamo događalo. Prije nekoliko godina iz ležaljke u Gvatemali radio sam na tečaju JavaScripta Codecademy.

Mislim da me ovaj krivudavi put ne-potpuno učenja na neki način pripremio. Također sam diplomirao računalnu grafiku koja je bila puno više usredotočena na dizajn, animaciju i modeliranje nego na kodiranje, ali dalo mi je neka temeljna znanja o HTML / CSS-u.

Puno je napisano o "zašto kodirati", tako da ovdje neću pobijediti mrtvog konja.

Kratka verzija je sljedeća: čini se da se pametni ljudi slažu da je znanje kodiranja multiplikator sile za gotovo sve ostalo u vašem životu.

Nakon kopanja po internetu kako bih odredio najbolje mjesto za početak, odlučio sam započeti rad putem Free Code Camp-a. Drugoplasirani je bio The Odin Project, ali činilo se da se Reddit slaže da je FCC jača polazna točka. I iz bilo kojeg razloga vjerujem u um Redditove košnice kada su u pitanju ove stvari.

Stoga sam postavio mali početni cilj od 2 sata dnevno i instalirao RescueTime da bih se pratio. Evo uvida u to kako je prošlo.

1. DAN

Brzo sam radio kroz prva tri odjeljka. HTML5 / CSS, Responsive Design with Bootstrap i jQuery imali su procijenjeno ukupno vrijeme dovršenja od 13 sati, ali prema RescueTimeu nokautirao sam ih za samo četiri. U ovom trenutku pitao sam se radim li nešto krivo, ali odlučio sam čestitati sebi i nastaviti dalje.

3. - 4. DAN

Bio sam u potrazi i glatko sam se kretao kroz osnovni Javascript odjeljak. Rano ujutro 3. dana počeo sam se prvi put osjećati zaglavljeno u vježbi Traženja profila koja uključuje petlju za itiranje kroz niz objekata. Ali do 22:30 prošao sam gotovo na polovici skriptiranja osnovnog algoritma (a prema RescueTimeu proveo sam ukupno 12 sati i 20 minuta na Free Code Camp-u).

Sljedeće jutro počeo sam probijati ostatak osnovnih algoritama, zapisujući neka rješenja za 3-5 minuta. U FCC chatu potvrdio sam da mnogi započinju relativno brzo i usporavaju se s vremenom kako se relativna poteškoća povećava (čime procijenjena vremena završetka postaju realnija).

To je reklo, do noći četvrtog dana umotao sam algoritme s ukupno 18 sati na FCC (i procijenjenih 22 sata ukupnog rada računajući vrijeme provedeno na drugim istraživačkim resursima poput Mozilla Developer Network. Procjena u ovom trenutku je bilo 75 sati.

Moj prvotni mikrocilj od 2 sata dnevno ostavio me u mislima da bih do kraja napuštanja skrovišta u Utahu završio 100 sati posla. Sad kad sam se stvarno nadahnuo radom, završio sam 75% mjesta na kojem sam želio biti u samo četiri dana.

17. DAN

Ušao sam u glavni način smanjenja glave i dva tjedna nisam bilježio napredak. Loša vijest je da se o tome malo može izvijestiti, ali dobra vijest je da me FCC držao u protočnom stanju dva tjedna zaredom. Do ovog trenutka dovršio sam portfelj kostura (sada pomalo mesnatiji) i izgradio Stroj sa slučajnim citatima, kao i stvarno groznu vremensku aplikaciju nadahnutu Gospodinom prstenova. Dana 17. poslao sam svoj preglednik Wikipedije. Učenje korištenja API-ja bilo je zabavno i korisno. Ispada da možete graditi stvari srednje složenosti bez razumijevanja pozadinskih poslužitelja ili baza podataka (možete se jednostavno priključiti na tuđe)!

DAN 23–24

Radeći kroz posredne algoritme otkrio sam kako počinjem uviđati razliku između čistog i ružnog koda. Također sam počeo ugrađivati ​​više bilješki u svoj kod za kasniji pregled. Nekako mi je trebalo ovoliko vremena da shvatim da se console.log ("testovi") uvijek ispljunu u JS konzoli za programere u pregledniku. Počeo sam koristiti //repl.it za pokretanje koda koji će prikazati zapisnike konzole kao čist izlaz. Sad mi je nekako neugodno, ali hej - nisam dopustio da me to zaustavi, a sada znate i bolje.

Prvi put sam srušio svoj preglednik radeći kroz Zbirku svih primera. Bez obzira na to, na kraju sam razradio problem i osjećao sam se sjajno kad bih riješio 99% osnovne funkcije bez ikakvog vanjskog istraživanja.

31.-33. DAN

Izazovi naprednog algoritma smatrali su me prilično ... dobro ... naprednima. Bio sam prilično ushićen kad sam završio Algoritam naprednog algoritma "Friendly Dates Range" za samo 90 minuta. U dva od ovih naprednih algoritama referencirao sam određene funkcije sa StackOverflow-a kako bih pomogao u čistoći mog koda. U to sam se vrijeme brinuo da bi mi se ovo moglo povrijediti, ali mnogi resursi s kojima sam se susretali tvrde da ono što izvrsnog programera čini sposobnost postavljanja specifičnih pitanja na tražilici. Na primjer, stvaranje JS verzije Heap-ovog algoritma od nule bila bi matematika na visokoj razini i ponovno otkriće kotača. Pronalaženje JavaScript modela s kojeg bih mogao raditi omogućilo mi je da zapravo dovršim izradu automobila.

Na dan 33 zaključio sam posljednji napredni izazov kodiranja. Sljedeći projekt (prvi od naprednih projekata razvoja frontova) zahtijevao je izgradnju JS kalkulatora. Bilo je lijepo vratiti se na HTML / CSS stranu stvari. Napredovao sam izazovu kodiranjem uživo na FCC-ovom Twitch kanalu i na kraju dovršio projekt s živom publikom od 24 ljudi. Ovo je bilo izvrsno iskustvo koje je zahtijevalo da objasnim svoj kôd dok sam ga napisao. Kodiranje uživo također ima ugrađenu potrebu za održavanjem zamaha. Nagrađuje stil kodiranja "brzo se kreni i razbij stvari" u odnosu na istraživačku metodu.

40. DAN

Kodiranje igre Tic-Tac-Toe pokazalo se (za mene) najiscrpljujućim projektom od svih. Za mene kodiranje AI-a nije bilo baš zabavno ili zadovoljavajuće. Po mom mišljenju, moj krajnji rezultat imao je slabu AI i sučelje ispod vrijednosti. U to sam se vrijeme pitao nije li možda izgradnja takvih interaktivnih stvari jednostavno moja strast.

45. DAN

Suludo sam radio na završnom projektu koji je tražio JavaScript kopiju igre Simon iz 1970-ih, zajedno s neobaveznim "strogim načinom" i sve većom brzinom igre. Bio sam odlučan da to učinim iznimnim. Od ovog pisanja još uvijek se osjećam kao da je moj Simon jedna od najljepših verzija. Na 45. dan sam završio projekt i uzeo svoj certifikat za Front End Development!

Konačna statistika:

77 sati upućivanja i učenja

67 sati razvoja softvera

41-satna komunikacija (uključujući FCC chat)

= 185 sati tijekom 45 dana (ili ~ 4 sata dnevno)

Završio sam nastavni plan i program za otprilike pola vremena.

Ne mogu dovoljno preporučiti Front End Dev program Free Code Camp-a. Bez obzira na to koliko vam treba, besplatan je, lako ga je pokrenuti i ima inteligentnu i pristupačnu zajednicu (ako i sam tako kažem).

Osjetio sam kako se osjećam intelektualno izgladnjelim, a učenje kodiranja pruža zadovoljavajuće rastezanje za stare mentalne mišiće. Vraćam se u San Francisco i namjeravam nastaviti ovo putovanje u tehnologiju.

Ako učite kodirati, tretirajte svoje obrazovanje kao posao kakav jest. Slijedite me i javite mi kako vam mogu pomoći! Nikada prije ogromni dobici od iterativnog napretka nisu bili toliko jasni kao pri učenju kodiranja.