Kako postati React programer za 5 mjeseci

Priča o tome kako sam od netehničkog prešao u unajmljenog React programera.

Kad sam imao 29 godina, prešao sam iz hoby kodera u profesionalnog front-end programera. Ovaj je prijelaz jedna od najisplativijih stvari koje sam ikad učinio, i osobno i profesionalno.

Osobno mi je dalo povjerenje da mogu naučiti što god želim, a profesionalno je to bilo presudno za moju karijeru. Danas sam suosnivač Scrimbe, platforme za učenje koja uči preko 100 000 ljudi da kodiraju svaki mjesec. Jednostavno ne bih mogao imati ovu ulogu da nisam znao kodirati.

Vidjevši koliko mi je važan bio taj prijelaz, želim potaknuti više ljudi da krenu istim putem. Stoga ću u ovom članku objasniti kako sam to točno učinio. Izložit ću svaki pojedini tečaj i projekt koji sam izgradio. Nadam se da bi vas ovo moglo potaknuti da razmislite da radite isto.

Ali imajte na umu da put koji sam krenuo nije nužno najučinkovitiji jer uključuje kodiranje bootcampa. To samo po sebi može biti skupo, a u ovom ćete razdoblju ostati bez plaće.

U ovom trenutku, bit ću dovoljno hrabar da preporučim naš besplatni uvodni tečaj na Reactu i predstojeći napredni tečaj za one od vas koji tražite apsolutno najbrži mogući način. Svrha ovih je što prije doći do željenog nivoa, a ja sam osobno provjerio kurikulum.

Ali ako ste spremni za kodiranje bootcamp-a, molimo pročitajte dalje.

Zatvaranje mog prethodnog pokretanja

Krajem 2014., moja dva suosnivača i ja odlučili smo zatvoriti pokretanje aplikacije za djecu - Propell - jer smo izgubili motivaciju i nismo vidjeli kako možemo postati profitabilni. Prvotno je započeo kao sporedni projekt dok sam diplomirao ekonomiju, ali ubrzo je evoluirao u posao s punim radnim vremenom s četvero ljudi koji su radili u tvrtki na vrhuncu.

Iako je zasigurno sranje odustalo, dalo mi je i priliku da radim ono što sam želio otprilike od 2011. godine, a to je da pravilno naučim kodirati.

Kodiranje mi je zapravo bio hobi zadnjih par godina, jer sam pohađao tečajeve navečer, vikendom i praznicima, tako da sam znao malo programiranja, ali i dalje sam se smatrao netehničkim i daleko od bilo koje profesionalne razine.

Tečajevi koji su me pokrenuli bio je Udacityov uvod u informatiku i kodiranje za poduzetnike na Udemyju. Oboje su sjajni, iako niti jedno nisam završio.

U svakom slučaju, nastavak samostalnog učenja na mreži nije bio opcija. Željela sam intenzivan osobni tečaj, jer sam znala da će to povećati moje šanse da mogu izvesti tranziciju. Želio sam okruženje u kojem bih 100% vremena mogao provesti kodirajući zajedno s drugima. Tako sam prokopao sve kodirajuće bootcampove koje sam mogao pronaći i primijenio na sljedeće:

  • Dev Bootcamp
  • Planina Dev
  • Škola Flatiron
  • Osnivači i programeri (FAC)
  • HackerShip
  • Hack Reactor
  • MakerSquare
  • Rekurzni centar

Bio sam prihvaćen u sve osim u Hack Reactor i Recurse Center. Ako razmišljate da sami napravite bootcamp za kodiranje, preporučio bih vam da učinite isto. Prijavite se za sve škole koje vam se čine zanimljivima, a zatim počnite filtrirati. Razgovarajući s ljudima koji tamo rade i iskušavajući postupak prijave, steći ćete dobar osjećaj o kvaliteti i filozofiji škole, što je oboje vrlo važno.

Činilo se da me nekoliko škola previše želi prihvatiti, što me učinilo sumnjičavim. Činilo se da je prikupljanje nastave od što većeg broja važnije od dobivanja najboljih mogućih kandidata.

Čuo sam priče o kodiranju bootcampova koji su u osnovi prijevare, pa budite oprezni i izbirljivi kad ih odaberete!

Ako želite biti 100% sigurni da je bootcamp ozbiljan, trebali biste razmisliti o onom koji ima opciju Plati kasnije, poput V School. Tada ste zajamčeni da su njihovi ciljevi usklađeni s vašim.

U svakom slučaju, nakon puno naprijed-nazad, nakon čega je uslijedio uvjerljiv razgovor s briljantnim šefom Osnivača i programera, Danom Soferom, napokon sam se odlučio preseliti u London i pridružiti se FAC-u.

Filozofija utemeljitelja i kodera

FAC nije poput bilo kojeg drugog bootcampa. Prije svega, potpuno je besplatno. To je značilo da bih si to mogao priuštiti bez uzimanja kredita, što ne bi bio slučaj za ostale bootcampove, jer njihova školarina uglavnom kreće između deset i petnaest tisuća USD. Drugo, FAC se u potpunosti temelji na projektu, što mi se sviđa, jer sam uvijek više naučio iz vježbanja nego čitanja o tome.

Nedostatak školarine znači da ne mogu zaposliti nijednog učitelja s punim radnim vremenom, pa se zasniva na učenju među vršnjacima, gdje uglavnom učite stvari od svojih kolega i sami. No, dobivate pomoć i od prethodnih kohorti, jer se oni zadržavaju i pomažu novim studentima dok rade na vlastitim savjetničkim koncertima. FAC također ima dva izvrsna mentora Nelsona Correia i Ines Teles koji pružaju neprocjenjivu pomoć studentima i organizaciji.

Sve u svemu, ovo stvara nevjerojatno okruženje - zajednicu ljudi željnih znanja željnih međusobnog dijeljenja svojih vještina.

Međutim, ovo nije najlakši način da naučite kodirati. Ne možete jednostavno podići ruku i dobiti odgovor od učitelja svaki put kad zapnete, što bih pretpostavio da možete učiniti na bootcampu od 10–15.000 USD. Na FAC-u to morate istražiti sami i zajedno sa svojim vršnjacima, što zahtijeva veliku samodisciplinu.

Ali ovo također ima ogromnu prednost; uvelike ćete izoštriti svoje vještine rješavanja problema i naučit ćete kako se naučiti što god želite. Ovo je jedna od najvažnijih vještina koju možete imati kao programer.

Dakle, ako prođete kroz FAC, nikada se više nećete bojati rješavanja tehničkog izazova. Osim toga, dobit ćete puno novih prijatelja.

Prolazak kroz FAC najvjerojatnije će vam promijeniti život na bolje.

1. dio - Osam projekata

Prvog dana razred je bio grupiran u timove za četvero. Ti bi se timovi trebali sastojati od sljedeća dva mjeseca. Svakog ponedjeljka dobivali smo novi projekt koji smo trebali izraditi i predstaviti za razred sljedeći petak. Unutar timova izmjenjivali bismo se između četiri različite uloge - programera, knjižničara, testera i vlasnika repoa - kako bismo bili sigurni da je svaki član naučio sve dijelove izrade web aplikacije.

Uz to, svako jutro imali smo izazov kodiranja, gdje smo vježbali osnovne Javascript vještine.

Sve je rađeno otvorenog koda, pa sam povezao sve naše tjedne projekte u nastavku. Osvrćući se na projekte, ne mogu izravno reći da sam ponosan na njih. Ali sigurno sam ponosan na sve što sam naučio dok sam ih gradio.

Također sam primijetio tehnologije koje smo naučili tijekom pojedinih tjedana. Osim toga, tjedni zadaci detaljnije su opisani u ovoj knjizi za one koji žele znati više.

  • 1. tjedan: Timski blog - HTML / CSS, jQuery, Github stranice
  • 2. tjedan: Guardian API - web API-ji, Ajax
  • 3. tjedan: Društveni zid - poslužitelji, Node.js
  • 4. tjedan: InstagramFeed - Heroku, MongoDB
  • 5. tjedan: StopGoContinue - D3.js
  • 6. tjedan: Bilješke - React.js
  • 7. tjedan: Blog - generiranje na strani poslužitelja, kolačići
  • 8. tjedan: Blog - Hapi.js

Projekti su neprestano rasli u svojoj složenosti, pa je svaki tjedan uključivao učenje novih tehnologija. Vikende sam obično provodio čitajući i održavajući tutorijale o temama koje bih trebao pripremiti za tjedan.

Tijekom radnih dana mislim da sam u prosjeku kodirao oko 10 sati dnevno ili učio o kodiranju, što znači da sam imao nešto manje od 1000 sati tijekom svoja četiri mjeseca u Londonu.

Pronalaženje moje React niše

Kao što vidite, React.js počeli smo koristiti u 6. tjednu. Odmah sam uživao raditi s njim i svidjela mi se pomisao da bih mogao razvijati i nativne mobilne aplikacije (React Native). Stoga sam odlučio nastaviti koristiti React što je više moguće tijekom tečaja.

Ovo je također bio strateški izbor. Ako bih došao na profesionalnu razinu, znao sam da trebam suziti svoj fokus na manje predmeta, umjesto da svoje napore širim na mnogo različitih. React je postao prirodni izbor za udvostručavanje. Ova se strategija sigurno isplatila, o čemu ću vam reći dalje.

Deveti projektni tjedan uključivao je izgradnju vlastitog proizvoda, jer FAC također želi nadahnuti studente da naprave i vlastite stvari. Moj je tim izradio mali alat za analizu ključne riječi vaše aplikacije pod nazivom KeywordKing, o kojem možete pročitati ovdje.

Dio 2 - Izgradnja MVP-a za klijente

Ovaj tjedan pripremio nas je i za drugi dio tečaja koji je uključivao izgradnju MVP-ova za vanjske klijente. Kroz prvih osam tjedana klijenti su nas provodili tjedno koji su trebali programere da prototipiraju svoje ideje.

Djeluje ovako: za 500 funti tim od 3-5 učenika izradio bi prototip za tjedan dana. Za nas je ovo bio način da naučimo raditi s klijentima, plus dalje razvijati svoje vještine kodiranja, a istovremeno i zaraditi malo novca. Za klijenta je to bila prilika da se brzo izgradi jeftini MVP. I to bez riskiranja novca, jer bi im se fakturiralo samo ako bi bili zadovoljni rezultatom, što je i bila većina klijenata (ali ne i svi).

Tijekom ovih tjedana zajedno s raznim drugim studentima izradio sam sljedeće projekte:

  • Sir Predictalot - prototip aplikacije za predviđanje vijesti Tinder'ish
  • Troll-Olav - dječja slagalica
  • RateMyStuff - društvena mreža koja se temelji na ocjenjivanju slika
  • Squish - pojačani alat za učenje učenika

Također sam napravio i jednotjednu vratolomiju o strojnom učenju, o kojoj sam ovdje napisao, osim što sam snimio nekoliko tutorial videozapisa na tu temu (izvinite zbog groznog zvuka).

U ovom trenutku proveo sam oko četiri mjeseca u Londonu i bilo je krajnje vrijeme da se vratim u Norvešku, gdje je postojao ostatak mog života.

Povratak u Norvešku

Vraćajući se kući, moj plan bio je što prije se baviti profesionalnim kodiranjem, jer sam trebao vježbati svoje svježe stečeno znanje kako bi se zadržalo.

Pokušao sam potražiti savjetnički posao, ali bio je teži nego što sam mislio pokrenuti ga. Također sam sumnjao da će moja krivulja učenja biti strmija ako se zaposlim. Uskočiti u bazu stranih kodova koju su stvorili profesionalci činilo se teškim izazovom.

Tako sam poslao tri molbe za posao tvrtkama koje su trebale programere za Javascript. Dvoje od njih pozvali su me na intervju.

Prvu nisam dobio. Nisam siguran zašto, ali pretpostavljam da su htjeli starijeg programera. Sljedeći me poslao u dva kruga intervjua, a zatim mi dao zadatak kodiranja.

Umrežavanje za pronalaženje savršenog posla

Otprilike u isto vrijeme, prisustvovao sam startup događaju koji je organizirao poduzetnik kojeg sam pomalo poznavao. Bio je glavni tehnički direktor dobro financiranog startupa pod imenom Xeneta, kojeg sam obožavao par godina. Prema njihovoj web stranici, tražili su front-end programere - i zapravo su spomenuli React.js kao jednu od tehnologija koju su koristili.

Tijekom večeri rekao mi je da su upravo prepisali cijeli svoj prednji kraj u React.js i tražili novog programera koji poznaje knjižnicu; ovo se činilo predobro da bi bilo istina. Rekao sam mu da će me posao zanimati i odlučili smo kasnije razgovarati.

Sljedeći tjedan otišao sam na prvi intervju, a zatim još dva kruga intervjua. Tada su mi poslali izazov kodiranja.

Raditi izazov zapošljavanja

Ne mogu s vama podijeliti točan izazov, ali mislim da sam nekoliko stvari ispravno učinio iz kojih se može naučiti.

Prije svega, proveo sam puno više vremena nego što se očekivalo. Dobio sam zadatak na kraju tjedna i rečeno mi je da ne trebam trošiti puno vremena na njega. Ali brzo to učiniti nije mi bila opcija. Zato sam pitao mogu li ga dostaviti tijekom vikenda, što im je bilo drago. Tada sam cijeli vikend proveo radeći na tome. Pregledao sam svaki redak koda pazeći da je SUH, lak za čitanje i bez traljavosti.

Moje je rješenje također sadržavalo hrpu testova, iako nije bilo dio specifikacije, i iako mislim da je pisanje testova vrlo dosadno.

Napokon, zamolio sam neke od svojih prethodnih kolega iz FAC-a da na brzinu pogledaju moje rješenje, a to je također pomoglo. Ovo bi moglo biti pomalo podmuklo, ali bio sam odlučan u tome da pružim savršeno rješenje.

Kasnije, kao što sam bio s druge strane stola, često sam vidio da podnositelji zahtjeva donose rješenja s traljavim kodom. Ne radi to!

Dobivanje ponude

26. lipnja - točno pet mjeseci nakon mog prvog dana u Founders and Coders - postigli smo dogovor, a ja sam angažiran kao front end programer.

To je uistinu bio sjajan posao u startupu s izuzetno vještim ljudima koji su se borili protiv velikog problema na velikom tržištu. Izazivan sam svaki dan. Tako da ni sekunde ne žalim što sam promijenio karijeru.

Nakon što sam tamo radio nešto više od godinu dana, moj prethodni suosnivač Sindre Aarsæther pokazao mi je rani prototip Scrimbe i pitao me bih li bio zainteresiran da mu se pridružim gradeći tvrtku oko nje. Odmah sam zavolio tehnologiju i iskoristio priliku. I sve to dugujem tome što sam zapravo naučio kodirati i postao profesionalni programer. Bez tog iskustva ne bih mogao postati suosnivač Scrimbe.

Od tada smo platformu povećali s ničega na više od 100 000 aktivnih korisnika mjesečno. Bilo je to fantastično putovanje, a ljudi nam svakodnevno govore koliko im pomaže da nauče kodirati.

Ako ste zainteresirani da sami postanete React programer, prijavite se, pogledajte ovdje naš uvodni tečaj, predstojeći napredni tečaj ovdje, a mi ćemo se potruditi da vam pomognemo.

Sretno :)