Sabitlenmiş Tweet

10 lekcji z kodowania z AI
1. Wdrażaj, żeby się uczyć
Można zajść całkiem daleko, stosując SDD (Spec-Driven Development), ale to dopiero pisanie kodu ujawnia decyzje, których na początku nie brałeś pod uwagę, i sprawia, że sama specyfikacja staje się lepsza. Skoro więc PISANIE kodu jest tanie, warto implementować po to, aby się uczyć.
2. Często buduj od nowa
Aby zdobywać nowe doświadczenie, implementuj wcześnie i regularnie. Forkuj projekty i twórz nawet najbardziej szalone eksperymenty. Sprawdzaj, jak daleko można rozwinąć dany pomysł lub funkcjonalność. Oczywiście nie zapominaj o iterowaniu i rozwijaniu dotychczasowej pracy, ale skoro mamy dziś takie możliwości, eksperymentuj i odkrywaj nowe rozwiązania, o których wcześniej nawet nie myślałeś albo które były praktycznie niemożliwe do zrealizowania.
3. Inwestuj w testy
Powinniśmy poświęcać więcej czasu na tworzenie testów, które sprawdzają, co produkt robi, a nie tylko jak to robi. Potrzebujemy możliwości swobodnego przebudowywania i ponownego implementowania aplikacji bez obawy o zmianę jej zachowania.
4. Dokumentuj intencje
Testy opisują cele, kod odzwierciedla sposób realizacji, ale ani jedno, ani drugie nie odpowiada na pytanie, dlaczego podjęto daną decyzję. Intencja jest motywacją stojącą za architekturą i implementacją. Posiadanie jej obok kodu pomaga zarówno tobie, jak i agentowi konsekwentnie rozwijać projekt w tym samym kierunku.
5. Utrzymuj specyfikację świeżą
Regularnie aktualizuj spec (pliki .md zawierające cele i plan projektu) wraz z rozwojem kodu i testów. Jeżeli specyfikacja staje się dokumentem statycznym i zamrożonym, cała wiedza zdobyta podczas implementacji idzie w błoto. Aktualna specyfikacja wspiera zarówno ciebie, jak i agentów w podejmowaniu trafnych decyzji oraz bardzo ułatwia częste przebudowy projektu (w przyszłości napiszę o tym więcej).
6. Szukaj rzeczy trudnych
Pracując długo nad danym projektem, dojdziesz do momentu, w którym skończą ci się proste zadania. Po uporaniu się z oczywistymi problemami pozostaną wyzwania takie jak: intuicyjny UX, wydajność, bezpieczeństwo, odporność czy architektura.
Dzisiaj te łatwe rzeczy jest w stanie zrobić prawie każdy. Prawdziwa wartość tkwi więc w rzeczach trudnych. Znajdź je i właśnie tam poświęć swój czas oraz energię.
7. Automatyzuj wszystko co łatwe
Logicznie myśląc, jeżeli chcesz poświęcać więcej czasu na rzeczy trudne, musisz ograniczyć czas spędzany na prostych czynnościach. Zamieniaj zdobyte doświadczenie w gotowe skille i workflowy, buduj pętle, automatyzuj tę żmudną część code review i pozwól swoim narzędziom pracować za ciebie.
Trzeba tylko uważać, żeby nie utknąć w środowisku pełnym automatyzacji, których działania sam przestajesz rozumieć.
8. Rozwijaj swój gust inżyniera
W sytuacji, gdy kod powstaje błyskawicznie, a wartościowy feedback pojawia się znacznie później, jedynym źródłem informacji, które nadąża za tym tempem pracy, jest twój własny osąd. Im lepiej rozumiesz swoją domenę, użytkowników i ich problemy, tym dalej możesz dojść bez konieczności weryfikowania każdej decyzji.
9. Agenci wzmacniają doświadczenie
Kodując z AI, często nie zdajemy sobie sprawy, ile intuicji przekazujemy swoim agentom już w samych promptach: właściwe słownictwo, odpowiedni kontekst czy odpowiedni poziom szczegółowości.
Jeżeli dobrze znasz swój stack, możesz zaoszczędzić ogromną liczbę iteracji zarówno podczas implementacji, jak i debugowania, ograniczając jednocześnie eksplorowanie różnych rozwiązań przez agenta.
10. Utrzymanie, wsparcie i bezpieczeństwo kodu nie jest tanie
Tak, pisanie kodu jest tanie. Jednak wszystko wokół niego, a często nawet ważniejsze od samego pisania, czyli wsparcie, utrzymanie i bezpieczeństwo, nadal wymagają czasu, pieniędzy i odpowiedzialności. Zawsze miej świadomość tych kosztów podczas budowania.
Jeżeli macie jakieś swoje lekcje których tu nie wypisałem to chętnie je poznam i poczytam.

Polski














