← Wszystkie notatki

Systemy

Kod stał się tańszy. Dobre systemy — nie

Łatwiejsze wytwarzanie kodu przesuwa wartość w stronę rozumienia problemu, architektury, weryfikacji i odpowiedzialności.

Wytworzenie działającego fragmentu kodu stało się łatwiejsze niż kiedykolwiek. To dobra wiadomość. Więcej osób może sprawdzać pomysły, automatyzować własną pracę i budować narzędzia, które wcześniej wymagały całego zespołu.

Łatwo jednak pomylić szybkość produkcji kodu z szybkością budowania dobrego systemu.

Kod jest tylko jednym z materiałów

System musi odpowiadać na pytania, których generator kodu nie usuwa. Co naprawdę próbujemy zmienić? Jak rozpoznamy poprawny rezultat? Kto ponosi odpowiedzialność za błąd? Jak zachowa się rozwiązanie pod obciążeniem, po zmianie wymagań albo po odejściu osoby, która znała wszystkie wyjątki?

Im tańszy staje się kod, tym droższe są błędne założenia. Możemy znacznie szybciej zbudować niewłaściwą rzecz, rozprowadzić ją szerzej i przykryć większą liczbą pozornie poprawnych testów.

Zmienia się miejsce przewagi

Przewagą dobrego inżyniera coraz rzadziej będzie liczba znaków napisanych bez pomocy. Będzie nią zdolność rozłożenia problemu, wyznaczenia granic systemu, wyboru właściwych kompromisów oraz stworzenia dowodów, że rozwiązanie zachowuje się zgodnie z zamiarem.

To samo dotyczy liderów technologicznych. Ich zadaniem nie jest ochrona dawnego rytuału produkcji oprogramowania. Jest nim wykorzystanie nowych narzędzi bez utraty jakości decyzji, bezpieczeństwa i odpowiedzialności.

Programowanie stało się bardziej dostępne. Budowanie rzeczy, którym można zaufać, pozostaje dyscypliną.