Zašto naš kamp za kodiranje i dalje uči dva programska jezika odjednom

U našoj potrazi za osposobljavanjem programera punih slogova spremnih za zapošljavanje, naš kamp za pokretanje kodiranja odlučio je podučavati Ruby on Rails (pozadinski okvir koji se temelji na Rubyu) i React (prednji okvir koji se temelji na Javascriptu).

U početku je podučavanje dvaju jezika bila praktična odluka. Učenicima je bilo potrebno i front-end i back-end obrazovanje kako bi zadovoljili naše standarde za stvarni uspjeh programera u cijelom nizu.

Naš idealni jezik za svaki komad bio je drugačiji. Iako je učenje dvaju jezika odjednom bilo puno teže, naši studenti nisu imali izbora jer u to vrijeme nismo mogli stvoriti bolje rješenje.

Umjesto da budu preopterećeni i isprani, naši su učenici napredovali u izazovu učenja dvaju jezika.

Budući da nismo vidjeli nikakve negativne posljedice za učenike osim većeg opterećenja, nismo promijenili program prvih pet godina.

Unatoč našem uspjehu u podučavanju Ruby on Rails, na kraju smo odlučili ažurirati naš program i uvesti novi pozadinski okvir u naš kurikulum. Razmotrili smo nekoliko mogućnosti, ali na kraju se izbor sveo na dvije: Pythonov Django ili Javascript-ov Node.js.

Napokon smo imali priliku pojednostaviti izazovnu razinu našeg programa i podučavati sam Javascript, zadržavajući vrhunsko obrazovanje.

Nismo to učinili.

Umjesto toga, odabrali smo Pythonov Django.

Analiza zaposlenosti pokazala je da su Python i Django jednako vrijedni za naše studente kao Javascript i Node.js. Dakle, odabir Djanga ne bi ugrozio kvalitetu. Našim bi studentima bilo teže naučiti nego da podučavamo samo Javascript i koristimo Node.js.

Nismo samo otežavali program. Bilo je tu još priče kad smo pogledali što se dogodilo nakon što su naši studenti diplomirali.

U procesu razmatranja naših izbora shvatili smo da je učenje više jezika postalo prednost naših diplomanata.

Brzina kojom su naši studenti naučili programirati, njihov uspjeh nakon završetka studija i povratne informacije koje smo od njih dobili dobili su potvrdu da je učenje dvaju jezika odjednom - premda teško u kratkom roku - u konačnici bilo presudno za njihov dugoročni uspjeh.

Na temelju onoga što smo izmjerili i čuli, evo najvažnijih razloga zbog kojih nastavljamo podučavati više od jednog programskog jezika u Code Platoonu.

1. Pojmovima dajete prednost ispred sintakse

Baš kao što se veliki matematičari ne mjere sposobnošću pamćenja teorema, tako se ni veliki programeri ne mjere sposobnošću da na vrh glave napišu sintaksički savršenu petlju "for" na određeni jezik.

Važnija je njihova sposobnost da shvate bitne koncepte i razumiju sustave s kojima rade.

Sintaksa je jednostavna. Googlanje "Kako mogu napisati singleton na Rubyu" odmah će vratiti brojne rezultate. Znati kada koristiti singleton (a ne instancu klase) najteži je dio.

Sintaksa se mijenja s jezikom, ali mnoge metode za rješavanje problema s računalima ostaju iste.

Jednom kad shvatite da svi objektno orijentirani jezici imaju jednotočke, postajete manje opsjednuti pamćenjem kuda idu zarezi - i više se usredotočujete na korake koje trebate poduzeti da biste riješili svoje probleme.

Vidjeti sličnosti u jezicima može uvelike pomoći u uništavanju univerzalnih koncepata. Ali gledanje na razlike može biti jednako korisno. Neki su pojmovi apstraktniji ili ih je jednostavno teže razumjeti u jednom jeziku u odnosu na drugi.

Na primjer, lambde u Rubyju za mene nisu imale smisla, ali koncept je napokon kliknuo kad sam vidio lambde u Javascriptu. Ponekad je stvar u tome što istu stvar vidite na drugačiji način, a to nikada nećete dobiti ako se držite samo jednog jezika.

2. Povećavate svoje mogućnosti za posao

Želimo da naši diplomci budu spremni za stvarne poslove kodiranja. Iako neki od naših diplomanata dobivaju posao na kojem pišu kodove na jezicima koje predajemo, veći broj njih zapošljava poslove koji zahtijevaju drugačiji jezik.

Sa svakim sljedećim poslom obično će trebati naučiti barem jedan novi jezik ili okvir.

Učenje tog prvog jezika je izazovno. Pokazivanje da ste naučili dvoje u kratkom vremenu oglašava vašu sposobnost učenja pod pritiskom. Ovo je vještina koja vam stvarno pomaže izdvojiti se iz mase.

Ako u životopisu imate i Javascript i Python, pokazujete da možete pisati na ta dva jezika.

Još važnije, pokazuje da možete nastaviti učiti jezike kodiranja. To povećava šanse za zapošljavanje na poslu koji ne zahtijeva niti jedno od njih.

U stvarnom svijetu nećete dugo izdržati kao programer ako znate samo jedan jezik ili ako niste spremni nastaviti učiti novi. Vrijeme koje provedete učeći drugu u sigurnosti učionice dat će vam samopouzdanje da treću naučite na satu na svom novom poslu.

3. Možete izgraditi više stvari s više jezika

Nekoliko modernih web aplikacija izgrađeno je sa samo jednim programskim jezikom. Neki su jezici bolji u određenim stvarima. Javascript dominira na prednjem kraju. Možete ga koristiti i na stražnjem kraju. No, ovisno o tome što želite učiniti, možda ćete htjeti koristiti Ruby ili Javu na strani poslužitelja.

Za većinu aplikacija potrebna je baza podataka. U tom ćete slučaju htjeti naučiti jezik upita poput SQL-a.

Trebate li analizirati puno podataka? Python ili R bi mogao biti ono što tražite. Izgradit ćete brže i pametnije ako razumijete što svaki jezik dobro radi i kako koristiti jezike za izvršavanje zadataka koji su vam potrebni.

4. Perspektiva vam pomaže steći samopouzdanje i rasti

Učenje vašeg prvog jezika može biti nevjerojatno teško. Ali kao i bilo što drugo, što više naučite, to ćete postati sigurniji u sposobnost rješavanja teških problema.

A to je ono što je mnogo programiranja - sposobnost procjene problema i pronalaska rješenja. Snaga volje i samopouzdanje da se proguraju oni neizbježni trenuci "nemam pojma što dalje" ključni su.

Nakon što naučite svoj drugi jezik, postajete otvoreniji za promjene. Razumjet ćete kako odabrati najbolji alat za posao. Jedan jezik koji je izvrstan za web razvoj možda nije najbolji za analizu podataka i to ćete razumjeti. Manje je vjerojatnost da ćete prisiliti alat koji stvarno dobro poznajete, a samo naučiti bolji alat u hodu.

5. Standardno želimo bootcampove s dva jezika

Učenje dva jezika odjednom nije mala stvar. Ali poznavanje dva jezika bolje priprema naše diplomce za konkurentno tržište rada i postavlja ih za uspjeh.

Nadamo se da će više kodiranja za kodiranje koristiti ovaj pristup u najboljem interesu svojih učenika. Potičemo buduće studente kodiranja da potraže kampove za kodiranje koji nude tu prednost, unatoč dodatnom radu s nogama koji se od njih traži.