Prejdi na hlavný obsah

3za3 – Code wars

Náš Pišta, software developer z tímu Automate, ktorého poznáte z Hack of the week, sa rozhodol pre zaujímavý spôsob vzdelávania svojich kolegov. Povedal si “škola hrou” a minulý mesiac pilotoval prvé kolo Code Wars. Tak sme ho vyspovedali, nech nám povie k týmto “vojnám” viac.

Prečo si sa rozhodol pre Code Wars a čo to teda je?

Náš Automate tím ja väčšinou juniornejší a preto sme sa rozhodli cez tie sessions ukázať im nové veci, nové riešenia. Na začiatku každej Code Wars session máme vyhodnotenie z tej predošlej, kde si prejdeme riešenia, povieme si ktoré riešenie bolo najlepšie a prečo, aké chyby sa najčastejšie vyskytovali. Týmto sa chlapci vzdelávajú formou súťaže a feedbackov.

Code Wars je súťaž kde na riešenie troch úloh majú 45 minút. Nie sú to nejaké komplikované úlohy, skôr také školské, takže to stíhajú. Väčšinou chlapci majú aj 20 minút k dobru, keď si vedia veci pretestovať a vylepšiť.

Napr. jedna z úloh vyzerá takto:

Fungujeme v Git, každý má vlastnú branch, kde si stiahne aktuálne zadanie, vypracuje ho a pushne ho von. Sme Python tím, takže celé to prebieha v tomto jazyku. Po vyhodnotení im zapíšeme body do tabuľky. Body získavajú na základe štyroch kritérií:

  • Funkčnosť
  • Bonus body za inovatívne riešenia
  • Formát a čítateľnosť kódu
  • Efektivita

Mám tu aj test solutions class, kde si vedia otestovať svoje riešenie a keď im prejdú testy, považujem funkčnosť za plný počet bodov.

Aká je odozva? Bolo aj nejaké prekvapenie?

Chcú sa zapájať. Na prvej sme mali štyroch kolegov, na druhej už deväť. Na väčšine projektov, i keď sme v jednom tíme, pracujeme sami – taký sám vojak v poli. Práca v tíme je preto fajn osvieženie, kde ako som spomínal, získajú feedback na svoje vypracovanie, toto nás môže posunúť ako by sa to dalo lepšie a tak. Toto aj bola myšlienka toho, prečo sme začali.

Najväčšie prekvapenie bolo jedno riešenie, ktoré na milion iretáciách trvalo 19 sekúnd a na druhej strane bolo riešenie, ktoré trvalo 3 milisekundy. V podstate výstup bol ten istý, robilo to čo malo, len performance bol šialený.

Máš to aj nejako tématicky rozdelené? Ako dlho to bude trvať v akej frekvencii?

Prvé dve session boli zamerané na štandardnú knižnicu na stringy a polia. Momentálne rozmýšľame nad nejakou špecifickou session, kde by sa riešil nejaký špeciálny problém, napr. algoritmy. Celé to vzniká za pochodu, veľa vecí upravujeme, no už teraz vidím, že druhá session bola o dosť lepšia ako tá prvá. Celé to bude trvať pol roka a uvidíme, či to dáme dvakrát do mesiaca.

Hlavne ma teší ochota chlapcov zapájať sa a to, že i keď niečo nevedia, snažia sa dovzdelávať aj sami. Hojne využívajú aj kurzy v Udemy a veľa sa pýtajú aj na našich feedbackoch. Napr. povieme si string joining je rýchlejší ako string concatenation, tak používaj to a podobne.

Viac od chlapcov z Automate si môžeš prečítať v sérii Hack of the week na našom blogu. V nej sa vieš dozvedieť tipy a triky, vychytávky a iné hacks v Pythone.