Lidé si často dávají předsevzetí na nový rok, kladou si cíl, kterého chtějí dosáhnout. Aby nestáli na jednom místě, aby se posunuli blíž ke svému snu, aby změnili něco, s čím nejsou spokojeni. U nás v Ackee máme podobně, jen to nejsou předsevzetí, ale týmové cíle, které si na začátku roku v backendu vytyčíme a na konci roku vyhodnotíme. Jako team leader organizuji tuto část agendy již čtvrtý rok v řadě a tentokrát poodhalím, jaké cíle jsme si pro tento rok zvolili a proč. Osvědčilo se mi cíle rozdělit na hlavní a vedlejší, přičemž při nedostatku času/příležitostí jsou vedlejší cíle nice-to-have a věnovali bychom se tudíž těm hlavním.
Hlavní cíle:
- Fúze s DevOps týmem
- Odbornost v jazyce Rust
- Přestat používat Jest
- Revidovat Open Source
- Ackee Katas
Vedlejší cíle:
- Účast na konferenci
- Vystupování před publikem
- Blogy
- Praktické FP-TS
Fúze s DevOps týmem a Odbornost v jazyce Rust
Jako backend tým jsme součást firmy, která má svoji misi, vizi a cíle, které stojí za to plnit. Každý rok se proto na tohle téma sejdu s naším CTO a pár nejdůležitějších výstupů pak přenesu do týmových cílů. A tyhle dva cíle vznikly zrovna tak.
V Ackee máme specializované týmy zvlášť pro vývoj aplikačního kódu backend aplikací a zvlášť pro vývoj a správu infrastruktury. Pod honosným názvem “Fúze s DevOps týmem” si tedy představme snížení závislosti backend týmu (vývoj aplikačního kódu) na DevOps týmu (vývoj a správa infrastruktury), aby základní úlohy a jednodušší infrastruktury mohli a uměli spravovat sami backenďáci. Cíl má být specifický, tedy: mít sjednocené týmové meetingy a zároveň mít polovinu backend týmu schopnou zvládat jednodušší úkony na infrastruktuře (to má také konkrétní podobu, ale pro účely tohoto blogu je to zbytečně detailní).
Odbornost v jazyce Rust je téma, jehož cílem je mít na konci roku produkční aplikaci nebo službu v Rustu, a zároveň mít polovinu backend týmu schopnou v novém jazyce psát produkční kód. Nejen díky naší sesterské firmě Ackee Blockchain se Rust stává jazykem, který je v Ackee více poptávaný právě pro backend systémy a aplikace. U toho nesmíme jako technologická špička chybět. Pro podporu této iniciativy vznikla a v lednu i odstartovala celofiremní crowd-learningová Škola Kraba (protože maskot Rustu je krab a protože s crowd-learningem máme v Ackee dobrou zkušenost).
Přestat používat Jest
V roce 2015 jsme při nástupu na Node.js začali používat testovací framework Mocha. V roce 2018 jsme se nechali zlákat blyštivým pozlátkem jménem Jest, který jsme na plno používali do tohoto roku, kdy jsme se jako backend tým definitivně rozhodli – Jest už nechceme.
Důvodem byly stále setrvávající roky staré problémy, které komplikují každodenní vývoj. Detailně je shrnul náš tech lead a můj bruv Jaroslav Šmolík (např. zde nebo zde). Nebylo to jednoduché, nechtělo se nám věřit, že tak majoritní nástroj trpí takovými nedostatky, ale rozhodnutí trvá. Co konkrétně to nahradí, je součástí cíle (ale prozradím, že v době psaní blogu to vypadá na Mocha.js 🤫).
Revidovat Open Source
Ackee Open Source je k nalezení na našem GitHubu. Existuje zde i sekce backend a ta obsahuje sadu knihoven, které používáme pro vývoj aplikací. S měnící se frekvencí projektů a jejich variabilitou potřeb se nám ale dlouhodobě nedaří náš open source udržovat v kvalitě, na kterou bychom mohli být řádně pyšní. Cílem tak je revidovat aktuální stav nástrojů, určit, zda jsou všechny stále aktuální, a případně deprekovat, a ostatní dát do základního pořádku. Ať se to blýská.
Ackee Katas
Je to několik měsíců, co se můj tým nadchl pro vzájemnou soutěživost v řešení programovacích úložek. V praxi to vypadá tak, že na jednom meetingu se uvede úložka z codewars.com a do příště každý odevzdá svoje zadání. Vyhodnocení probíhá porovnáním jednotlivých řešení v přístupu, čitelnosti a asymptotické složitosti řešení. Hodnotitel zároveň zvolí jednoho z řešících a ten přebírá agendu pro další kolo. Popularita v týmu a naděje, že jsou v digitální agentuře další podobní nadšenci do programování, nás přiměly tuto aktivitu udělat celofiremně. Cílem je tak představení konceptu celé firmě a pravidelně po celý rok držet frekvenci zadávání a vyhodnocování řešení. V současné chvíli čekáme na výsledky první úložky, tak snad hodnotitel nebude muset hned z kraje porovnávat 60 řešení v několika programovacích jazycích.
Účast na konferenci, Vystupování před publikem a Blogy
Všechny tyto cíle míří na zvýšení povědomí o tom, co v backendu děláme, v okolním světě, a naopak.
Cíl Účast na konferenci stanovuje každému členovi týmu se za rok účastnit jedné velké konference na místě, případně 3 konferencí online. Protože mít povědomí o dění kolem sebe pokládám za samozřejmost, ať už je to skrz Twitter, Medium nebo oficiální online zdroje, patří do této kategorie i meetupy a konference. Je to jak informační přínos, tak sociální zážitek, pro které jsme i letos našli místo v našich ročních cílech.
Vystupování před publikem vyžaduje od týmu alespoň 60 minut vystoupení před interním nebo externím publikem. Programovat umíme a vydané aplikace jsou toho důkazem, ale i vývojář by měl být schopen vystoupit před publikem jako speacker, byť na krátké povídání, a smysluplně odprezentovat myšlenku. Tuto dovednost trénujeme na týmových meetinzích, kdy si dáváme okamžitou zpětnou vazbu na prezentace rozsáhlejších témat, proto věřím, že 60 minut vystoupení pro nás bude hračka.
Cíl Blogy předepisuje týmu napsat alespoň 10 blogů za rok, ideálně každý měsíc, a to na aktuální témata, protože když know-how máme, proč se nepodělit veřejně? Pro mě to byl hlavní důvod se na to zaměřit takhle z kraje roku a podělit se tak o největší téma, které jsem v týmu jako team leader řešil – týmové cíle pro rok 2023.