Podsumowanie będzie składać się z dwóch części. W pierwszej wymienię nagranie, książkę i tutorial na stronie internetowej, które zrobiły na mnie w minionym roku największe wrażenie.
W drugiej będą artykuły mojego autorstwa, które wzbudziły wasze największe zainteresowanie.
Podsumowania z poprzednich lat znajdziecie pod tagiem podsumowania.
Spis treści
Things that work for me so well I cannot believe you are not using it
Prezentacja Kuby Nabrdalika, wygłoszona kilka razy, ja polecam nagranie z Confitury 2022. Mnóstwo wiedzy, pomysłów jest tyle, że można by obdzielić kilka prezentacji albo artykułów.
- „udowadnianie przydatności” historyjki przed zaakceptowaniem jej; nie wystarczy, że Product Owner obiecał komuś zrobienie ficzera, niech teraz udowodni zespołowi, że użytkownicy będą tego używali i że ten kod naprawdę pozwoli zaoszczędzić (albo zarobić) pieniądze
- warto dzielić rozwiązanie na kilka MVP i dostarczać przed uzgodnionym terminem, nawet jeśli klient nigdy nie prosił o pracę etapami
- często zdarza się, że implementujemy rzecz, której nie rozumiemy; po wszystkim warto skasować kod i napisać od nowa, tym razem dysponując zrozumieniem
- programiści nie rozumieją, jak działa proces twórczy, bo mają awersję do kasowania kodu („marnotrawstwo!”); tymczasem malarze robią dużo szkiców i większość niszczą
- na koniec każdej historyjki task na dodanie observability
- metoda naukowa przy incydentach produkcyjnych: nie rzucamy się do poprawiania, należy sformułować hipotezy, użyć logów od odrzucenia hipotez niepasujących do incydentu, poprawiać dopiero, gdy rozumiemy, co jest przyczyną
- logi mają mówić wszystko tak, że nie jest potrzebny debugger; logowanie każdej gałęzi decyzyjnej (też Optional.ofNullable itp.), też gałęzi, gdy nie robimy nic
Twój mózg w działaniu
Oryginalny tytuł „Your Brain at Work” (Goodreads), autor David Rock. Książka z praktycznym nastawieniem (nie ma długich wykładów), pokazująca, jak się zorganizować, żeby ograniczenia naszych mózgów mniej przeszkadzały w osiąganiu naszych celów. Dobrze napisana, każdy rozdział omawia jedno z ograniczeń (planowanie przyszłości, wielozadaniowość, status w grupie, itp.), pokazuje scenkę, gdzie bohater przez nie poniósł porażkę, a na koniec ta sama scenka pokazana jest po zastosowaniu rad z rozdziału.
Myślę, że dwa rozdziały, o wychodzeniu z impasu i o pomaganiu innym w rozwiązywaniu problemów, będą szczególnie przydatne dla osób pracujących kreatywnie.
Wcześniej polecałem podobną książkę Pragmatic Thinking and Learning, ale tematy (poza wychodzeniem z impasu) nie powtarzają się. Jeśli komuś podobała się jedna, warto przeczytać drugą.
Prompt Engineering Guide
Zbiór artykułów objaśniających, jak zadawać pytania do ChatGPT i podobnych narzędzi, żeby uzyskać rozwiązania skomplikowanych problemów (np. generowanie kodu robiącego, o co prosimy).
Zainteresowałem się tematem promptów, gdy w newsletterze Java Annotated Monthly pojawił się artykuł An Incomplete Guide to Modern Java I/O Idioms, gdzie autor narzekał, że ChatGPT powiela złą wiedzę, tzn. sugeruje używanie przestarzałych konstrukcji (narzekał też na ludzi piszących bzdury na blogach i StackOverflow, ale zostańmy przy AI).
Próbowałem zweryfikować, czy twierdzenia autora artykułu o ChatGPT są prawdziwe. Faktycznie, prompt „How to convert InputStream to a String in Java?” dawał „złą” odpowiedź. Ale drobna modyfikacja zapytania dawała znacznie lepsze odpowiedzi: „Write code in Java 17 to convert InputStream to a String.”
Prompt Engineering Guide jest zbiorem technik dużo bardziej zaawansowanych niż prosty przykład wyżej. Więcej pisałem na LinkedIn.
Na blogu
Najwięcej zainteresowania budziły artykuły:
- Zaoranie mockowania w 20 linijkach kodu
- Plik .env do tajnych kluczy w IntelliJ i konsoli
- Anki w nauce terminala, edytorów i programowania
W bonusie polecam editorconfig na CI – automatyczna weryfikacja jednolitego stylu, który według mnie spokojnie znalazł by się w czołowej trójce, gdyby nie świąteczna awaria na jvm-bloggers, kiedy to cały tydzień artykułów z polskiej blogosfery w ogóle nie został opublikowany.
Zdjęcie Moritz Knöringer z Unsplash