Wujek Bob tak pisał o Kata w “Mistrzu czystego kodu”:
💬 ”Celem wykonywania kata nie jest wymyślenie sposobu rozwiązania problemu, ponieważ każdy zna już jego rozwiązanie. Celem jest tutaj wyćwiczenie swoich palców i umysłu.”
Kata 🥋, czyli: powtarzalne, nieskomplikowane ćwiczenia rodem ze sztuk walk, znalazły przełożenie w programowaniu. I chociaż kiedyś podchodziłem do nich sceptycznie (a może po prostu leniwie?), to po wielu latach z kodem znowu zaczęły przynosić mi sporo satysfakcji.
O co chodzi?
O rozwiązywanie prostych problemów algorytmicznych. Bardzo prostych. Tak prostych, że można je często rozwikłać w przerwie na kawę. ☕
Skoro to takie proste, to po co to robić?! 🤷♂️
Często w pracy okoliczności nie sprzyjają rozwiązywaniu ciekawych problemów. Ot, kolejna CRUD-owa końcówka w naszym API. Kolejny modal czy formularz. 😴 To nie są problemy, które rozwijają naszą kreatywność, sami przyznacie. W Kata mamy okazję zmierzyć się z czymś, co zmusi nas do myślenia. Rozwiązując zadania regularnie, zauważymy też, że pewne wyuczone podejścia owocują w kolejnych ćwiczeniach. A gdy pojawi się konkretny problem w codziennej pracy, będziemy na niego gotowi.
Nie ma jednego poprawnego rozwiązania. Wiele platform (jak np. codewars.com) po rozwiązaniu zadania pozwala na rzucenie okiem na rozwiązania innych. Niektóre potrafią zaskoczyć prostotą, dobrymi praktykami, ale czasami też… łopatologią 🙈.
…ale jest GPT 🤖
Ano jest. Pewnie z wieloma algorytmami już sobie świetnie poradzi i warto z niego korzystać. Problem w tym, że korzystanie z GPT nie szlifuje Twoich umiejętności analitycznego myślenia, Twojej kreatywności i krytycznego podejścia do problemu. Szlifuje modele OpenAI. Sam wybierz, jak chcesz zainwestować swój czas 😉.
Kata - czy to w postaci zadań z platform typu codewars, czy advent of code, czy jakichkolwiek innych - to w erze LLM wciąż prosty i skuteczny sposób na ciągłe ostrzenie programistycznej piły. 🪚