Přejít na hlavní obsah
V kondičce díky Coding Dojo

V kondičce díky Coding Dojo

Vrcholoví sportovci dosahují svých výkonů díky pravidelnému tréninku, při kterém pilují své dovednosti. Jaké možnosti má ale vývojář, pokud se chce zlepšovat a pracovat na svých schopnostech? Kromě čtení knížek a navštěvování přednášek existuje ještě jedna cesta – Coding Dojo. 

Co si představit pod Coding Dojo? To se sejde skupina vývojářů, sedne k jednomu stolu a všichni pracují na stejném zadání. Na výzvě. Cílem není jen pokořit výzvu, ale hlavně se učit jeden od druhého.

Je to koncept, který se neomezuje na zkušenost s určitým jazykem nebo programátorskou úrovní. Dokonce nejlépe funguje, když se při něm setkají různě zkušení vývojáři, protože si mají vzájemně co předávat. Sami jej docela často používáme. Také to plánujete zkusit? Třeba se vám budou hodit naše zkušenosti a tipy. 

Proces je důležitější než kód

V klasickém produkčním prostředí dostává programátor zpětnou vazbu prostřednictvím code review nebo někde dokonce jen ověřením, že výsledná aplikace funguje. Samotný kód ale není vše, mnohem důležitější je proces jeho vzniku. A hlavně na ten se Coding Dojo zaměřuje. Může jít o přemýšlení nad konkrétní implementací, psaní testů, efektivní práci s vývojovým prostředím, porozumění cizímu kódu nebo refaktoring. To jsou všechno klíčové dovednosti každého vývojáře. A navíc – Coding Dojo je zábava!

Průběh Coding Dojo 

Ke Coding Dojo můžete přistoupit různými způsoby. Nám se osvědčilo dodržovat tento formát:

  • Účastní se 5–7 lidí
  • Mají 2–3 hodiny na jeden běh a jeden zajímavý úkol (tomu se říká Kata). Existuje spousta připravených zadání, nebo si s trochou zkušeností můžete vytvořit i vlastní.
  • Během celého Coding Dojo je přítomný moderátor. Doporučujeme mít raději dva. Jeden hlídá čas, dodržování formátu a organizuje průběh. Druhý se zaměřuje pouze na technickou diskuzi, snaží se skupině po celou dobu předávat zpětnou vazbu a podněcuje odbornou debatu. 

Účastníky je také potřeba důkladně seznámit se základními principy Coding Dojo

  1. Coding Dojo není soutěž. 
  2. Cesta je cíl. Není důležité samotné řešení úkolu, ale jak jsme k němu došli.
  3. Jsme v bezpečném prostředí, kde můžeme zkoušet nové věci. 
  4. Máme čas, můžeme zpomalit a navzájem se od sebe učit. 
  5. Nezáleží na programátorské úrovni – každý vynikáme v něčem jiném a můžeme to předat ostatním. 
  6. Nemůžeme psát kód, pro který neexistuje test. Během celého Coding Dojo tedy aplikujeme TDD

Společné úkoly i párové programování 

Samotné řešení úlohy může probíhat v různých formátech. My používáme typicky Randori Kata, kdy je k dispozici pouze jeden počítač a kód se promítá na velké plátno. Řešení úlohy je rozděleno na krátké iterace (nám se osvědčilo 7 minut), ve kterých se účastníci postupně střídají u počítače: 

Samotný kód píše Driver, vedle něj sedí Co-pilot, který mu napovídá a nahlas za něj přemýšlí. Po skončení iterace se z Co-pilota stává nový Driver a novým Co-pilotem je další z účastníků. 

Každé takové kolo navíc zahrnuje:

1) společný planning, kdy se skupina dohodne, čeho by chtěla dosáhnout, 

2) retrospektivu, když iterace skončí. Celá skupina debatuje nad tím, co se právě odehrálo a získá zpětnou vazbu od moderátorů.

Po skončení Coding Dojo se určitě vyplatí udělat ještě velkou retrospektivu a celý průběh si shrnout. 

Metody

Kromě Randori Kata, která skvěle funguje pro juniory i seniory, jsou i další populární formáty:

  • Párové Randori 

Řešení úlohy probíhá ve dvojicích, každá má k dispozici jeden počítač. Všichni mají zadanou stejnou úlohu a po určené době se dvojice u počítačů vymění. Musí se tak rychle zorientovat v cizím kódu a na jeho řešení navázat. Tento typ Coding Dojo už vyžaduje jistou programátorskou úroveň. 

  • Ping Pong

Ping Pong se podobá párovému Randori. Dvojice má ale za úkol společně dořešit úlohu až do konce. U počítače se střídá v režimu test – implementace, test – implementace, ... 

  • Code Retreat 

Je to rozšířená verze Coding Dojo. Řeší se při ní složitější úkoly (např. Game of Life), proto může trvat i celý den. 


Je to brnkačka? Přidejte další výzvy

Co když zakážete používat myš, ať si procvičíte klávesové zkratky? A co takhle psát celý kód v poznámkovém bloku, a tím pádem zakázat našeptávání? Nebo psát kód bez podmínek? Fantazii se meze nekladou. 

Čistý kód = spokojený vývojář 

S myšlenkou uspořádat Coding Dojo u nás přišel vývojář Ondra Vršan, který si ho vyzkoušel v předchozí práci. Od té doby ho organizujeme pravidelně. Taky jsme už pořádali Coding Dojo pro veřejnost – u nás i na Fakultě informatiky MU. 

Obecně nám tato metoda pomáhá dostávat praxi TDD více pod kůži a celkově psát čistší kód. Velmi pozitivní reakce vyvolávají především společné diskuze celé skupiny, kdy si vyměňujeme své zkušenosti a názory na věc. I pro nás, jako organizátory, je Dojo obohacení, protože každá skupina je jiná a tím pádem se i my vždy něco nového naučíme.

Ideálně chceme takto procvičovat mozkové buňky jednou měsíčně. Je totiž dobré dát si dostatek času na přípravu a zároveň dodržovat určitou pravidelnost. Organizaci Coding Dojo přitom nemusí mít na starosti jen moderátoři – nebojte se zapojit více lidí, ať má akce co největší přínos.

Tak co, chcete to zkusit?

Přidejte se na naše lednové Coding Dojo, ještě zbývá pár posledních míst! Pro další termíny pak sledujte náš Facebook.
Nebo chcete uspořádat Dojo sami ve své firmě? Rádi se podělíme o zkušenosti, napište nám

Chcete si číst dál?

Design Sprinty při vývoji softwaru: Experimenty s metodikou

V pondělí definujete problém a cíle. V úterý shromáždíte nápady. Ve středu je řádně proškrtáte. Ve čtvrtek vytvoříte prototyp řešení a hned v pátek ho otestujete s uživateli… Znáte metodiku Design Spr…

V kategoriích Rozhovory, Development a UX

Open space a houpačky? Nemáme a nechceme, protože...

Kanceláře na Nových sadech jsou už naše třetí v pořadí. I proto jsme přesně věděli, jaké by měly být, a taky co tam určitě mít nechceme. Ve výběru nám pomáhali lidé z jednotlivých týmů.

V kategorii Život v Kentico

Všechny problémy beru jako výzvu

Tonda Moravec je v Kentico desátý rok. Jak vnímá svou pozici a co ho na práci u nás baví ze všeho nejvíc? Přečtěte si rozhovor s naším COO.

V kategorii Rozhovory