top of page

Modern software development != code

  • Zdjęcie autora: Cezary Ochman
    Cezary Ochman
  • 3 dni temu
  • 2 minut(y) czytania

W 2021 roku David Farley opisał w książce "Modern Software Engineering" swój manifest wytwarzania oprogramowania. Rok później pojawił się ChatGPT, który rozpoczął zmianę podejścia do wytwarzania oprogramowania. Cztery lata po wydaniu tej książki mamy już na rynku wiele narzędzi przyspieszających generowanie, testowanie oraz wdrażanie kodu. Software development oraz ogólnie procesy SDLC zmieniają się na naszych oczach, a niedaleka przyszłość to na pewno kolejne przyspieszanie oraz kolejne zmiany w procesach wytwórczych. 

Modern software development != code

Software development oraz myślenie inżynierskie oparte są według Farleya na 5 pryncypiach, o których warto pamiętać oraz które warto stosować na co dzień, bo są ponadczasowe. Te zasady to empiryzm, feedback, iteracyjność, inkrementalność oraz eksperymentowanie. Część z tych idei była obecna już w jego wcześniejszej książce "Continuous Delivery" z 2010 roku, ale dopiero później zostały one jasno zdefiniowane i nazwane jako fundamenty nowoczesnego wytwarzania oprogramowania.


Na poziomie pisania kodu AI już teraz pokrywa wszystkie te aspekty. Poprzez eksperymentowanie z AI możemy każdego dnia generować i testować małe przyrosty funkcjonalności, następnie uruchamiać kolejne "AI-powered" narzędzia do automatycznego testowania i analizy jakości kodu, które dostarczają nam rekomendacje do kolejnych iteracji i optymalizacji. Poprzez takie działanie działamy empirycznie, czyli sprawdzamy szybko co działa.


W niedalekiej przyszłości procesy wytwórcze jeszcze bardziej przyspieszą dzięki AI, a rola programisty będzie jeszcze bardziej zakorzeniona w powyższych pryncypiach. Zmienią się też znacznie oczekiwania, co do roli programisty. Oczekiwaniem biznesu będzie np. jeszcze szybsze dostarczanie oraz podpisywanie się pod kodem wygenerowanym przez AI. Moim zdaniem pisanie kodu będzie coraz tańsze, a myślenie inżynieryjne coraz droższe. Dlatego już teraz naszym zadaniem powinno być oswojenie się z tymi pryncypiami oraz dopasowanie do potrzeb modern software engineeringu na miarę czasów AI 😉


Czy Twoim zdaniem tak właśnie będzie wyglądać zmiana paradygmatu bycia programistą? Podziel się swoimi przemyśleniami w komentarzu.

Komentarze


bottom of page