"Skutečnými vítězi kalifornské zlaté horečky nebyli jen kopáči a horníci, ale také ti, kteří jim poskytli lopaty, síta a další vybavení," říká generální ředitel společnosti Codeac.io, Michal Simon a vysvětluje hlavní cíle tohoto nástroje pro zlepšování kvality kódu. Podělil se s námi o možné problémy, na které mohou juniorní weboví vývojáři narazit, a o to, jak jim Codeac může pomoci. Michal také představil výhody Codeacu pro studenty programování a poradil našim studentům Coding Bootcamp Praha pro jejich novou práci.

 

1. Můžete nám říct něco o Codeacu a o tom, co bylo inspirací pro jeho vznik?

Moje cesta k vytvoření Codeacu začala, když jsem si po univerzitě koupil jednosměrnou letenku do Silicon Valley. Získal jsem práci ve startupu zaměřeném na seznamovací aplikace, který byl nakonec úspěšně prodán, ale ne bez toho, aby se přitom nepotýkal s problémy vysokého technického dluhu. Uvědomil jsem si, kolik času a starostí jsme si mohli ušetřit, kdybychom vše postavili pořádně, místo abychom si zkracovali cestu. Z historie kalifornské zlaté horečky 19. století jsem se také poučil, že skutečnými vítězi nebyli jen kopáči a horníci, ale také ti, kteří jim poskytli lopaty, síta a další vybavení. Díky tomuto poznání a zkušenostem z odchodu ze startupu jsem viděl příležitost vytvořit službu, která by vývojářům pomohla zlepšit kvalitu a produktivitu jejich kódu - a tak se zrodil Codeac.

2. V čem se Codeac liší od ostatních nástrojů pro kvalitu kódu na trhu a jaké jedinečné funkce nabízí?

V Codeacu věříme, že mít skvělé nástroje nestačí k tomu, aby se z vás stal skvělý vývojář. Abyste mohli rozvíjet své dovednosti a dodávat vysoce kvalitní software, potřebujete také vedení, zpětnou vazbu a poznatky. Proto Codeac poskytuje jasné vysvětlení každého zjištěného problému, abyste se mohli poučit z chyb a v budoucnu se jich vyvarovat. Proto Codeac nabízí také Velocity report, jedinečnou funkci, která sleduje dobu od prvního "Git commitu" po produkční verzi, takže můžete měřit a zlepšovat výkonnost svého týmu a jeho schopnost reagovat na poptávku trhu. Tím však nekončíme. Získáte také přístup k našemu týmu odborníků, kteří vám pomohou stanovit a dosáhnout realistických a ambiciózních cílů v oblasti kvality kódu a rychleji dodat skvělý software.

3. Jak Codeac pomáhá týmům zlepšit kvalitu kódu a jaký dopad má na vývojové procesy?

Codeac analyzuje každý "commit" a poskytuje akční zpětnou vazbu o tom, jak kód udělat čistší a pokud se změnou kódu objeví nějaké nové chyby. Codeac také vysvětluje jednotlivé chyby a učí tým, jak se jim v budoucnu vyhnout. Výsledkem jsou nejen kvalitnější "pull requests" a rychlejší vývojové cykly, ale také lepší celková udržovatelnost.

4. Můžete nás seznámit s reálným scénářem, ve kterém byl Codeac použit k identifikaci a vyřešení problému s kvalitou kódu?

Jeden z našich klientů integroval Codeac do své CI/CD pipeline a nastavil prahové hodnoty pro kvalitu kódu. Když vytvořili "merge request", zjistili, že pipeline CI selhala a příčinou byl Codeac. Zkontrolovali aplikaci Codeac a zjistili, že Codeac zjistil bezpečnostní chybu v zastaralé Git "dependency". Díky Codeacu bezpečnostní problém rychle opravili a vyhnuli se ohrožení svého softwaru.

5. Jaké jsou plány Codeacu do budoucna a jak si představujete jeho vývoj, aby vyhovoval potřebám vývojářů a týmů?

Nedávno jsme spustili některá vylepšení naší integrace s GitHubem v rámci naší trvalé snahy o co nejhladší integraci s GitHubem, Bitbucketem a GitLabem. Výsledky chceme poskytovat v místě, kde jsou vývojáři zvyklí trávit čas - v samotném VSC. Vývojáři tak dostanou správné návrhy ve správný čas. Dalším krokem pro nás bude zavedení "pull requests" s opravami. V tuto chvíli pouze navrhujeme změny vývojářům, kteří pak musí jít do svého IDE a změnit je sami. S generovanými "pull requests", vývojáři už jen stačí kliknout na tlačítko a odeslat jej recenzentům. Věříme, že to pomůže každému týmu urychlit proces řešení jednoduchých problémů.

6. Setkávají se vývojáři při využívání služeb Codeac s nějakými problémy?

Codeac dokáže najít mnoho problémů ve stávajících projektech, zejména ve starších aplikacích. To může být pro vývojáře zdrcující, proto jim pomáháme se správným zapracováním a konfigurací systému Codeac. Vypínáme některé kontroly, aby se tým mohl nejprve soustředit na ty kritické. Když tyto problémy vyřešíme, upravíme konfiguraci, aby tým mohl pokračovat ve zlepšování své kódové základny. Klienti tak mají přehled o problémech ve svém kódu a mohou podle toho plánovat vyvážení nových funkcí a snižování technického dluhu. Každý projekt je jedinečný a vyžaduje specifický přístup ke kvalitě kódu.

7. Jak může platforma Codeac pomoci studentům programování rychle si osvojit nástroje tohoto oboru?

Pro vývojáře je zásadní zpětná vazba. Někdy však vedle vás není k dispozici žádný starší vývojář, který by vám odpověděl na otázky nebo poradil. Tehdy může být Codeac užitečným kamarádem a pomoci studentům nebo juniorním vývojářům identifikovat problémy v jejich kódu a navrhnout zlepšení. To vše bez nutnosti čekat na někoho jiného. Vzniká tak rychlejší smyčka zpětné vazby a vývojáři se rychleji učí a zlepšují své dovednosti.

8. Může Codeac pomoci vytvořit interaktivnější a poutavější výuku pro studenty programování?

Myslíme si, že ano. Codeac poskytuje vývojářům nejen využitelnou zpětnou vazbu, ale také stručné vysvětlení problému a odkazy na články, vlákna StackOverflow a videa. To pomáhá studentům lépe porozumět problému, a to je důležitá součást výuky programování.

9. Jaké jsou podle vás tři hlavní problémy, které mohou mít juniorní weboví vývojáři a se kterými jim může pomoci Codeac?

Jedním z problémů, které může mít juniorní webový vývojář, je konzistence. Psaní kódu, který se řídí konzistentním stylem a konvencemi, může být pro začátečníky náročné, zejména pokud pracují v týmu nebo na velkém projektu. Codeac jim může pomoci tím, že zkontroluje jejich kód z hlediska problémů se stylem a formátováním a navrhne zlepšení. Dalším problémem, který může mít začínající webový vývojář, je složitost. Vývoj webu obsahuje mnoho různých technologií, frameworků a nástrojů, které mohou nováčka zahltit. Codeac jim s tím může pomoci tím, že analyzuje jejich kód z hlediska složitosti a problémů s udržovatelností a navrhne způsoby, jak kód zjednodušit a refaktorizovat. Třetím problémem, se kterým se začínající webový vývojář může potýkat, je nedostatek vodítek. Učit se webový vývoj sám nebo z online kurzů může být bez zpětné vazby nebo mentorství obtížné. Codeac jim s tím může pomoci tím, že jim poskytne vysvětlení a zdroje k problémům, které v jejich kódu najde, a pomůže jim poučit se ze svých chyb.
 

10. Pracoval jste již s několika skupinami studentů Coding Bootcamp Praha. Jakou radu (rady) byste jim dal pro jejich první zaměstnání?

Nebojte se dělat chyby - jsou součástí procesu učení a váš nový tým vás pochopí a podpoří :) Ať se vám daří. Další věc, kterou je třeba mít na paměti, je, že pokud někdo zanechá spoustu komentářů k vašemu "pull requestu", není to osobní útok, ale způsob, jak vám pomoci učit se rychleji a lépe. A nakonec nezapomeňte, že programování je řemeslo - abyste se stali lepšími, je třeba trpělivosti a praxe, nepůjde to přes noc.