Fullstack a.k.a. Człowiek orkiestra
Umiejętności generalistyczne to nowy trend czy realna potrzeba?
Przez ostatnie dwie dekady działy IT dzieliły się na wąskie specjalizacje. W przypadku web developmentu był to frontend i backend. W wielkim uproszczeniu, ta część aplikacji, którą widać oraz ta, którą tylko czuć - bo działała pod spodem. Mimo to możemy spotkać specjalistów, którzy niepokornie i wbrew spolaryzowanemu IT nauczyli się budować systemy na obu frontach (znaczy się “endach”).
Wspomniani developerzy pracując przy interfejsach użytkownika oraz przy systemach działających po stronie serwera, nabyli doświadczenia, które pozwala im wyprodukować rozwiązania od bazy danych po kolorowe guziki na stronie - w istocie “Ludzie Orkiestra”. Rynek najpierw nazwał ich Fullstackami, a chwilę później przeklął. Światy frontu i backendu rozwijały się tak szybko, że nadążenie za nimi i bycie wybitnym specjalistą wymagałoby doby z gumy i jeziora kawy - społeczność zamiast tego postawiła więc na wąskie specjalizacje i wiedzę ekspercką.
Obecnie rozwój języków i frameworków wyhamowuje, a dysputy ideologiczne nad architekturą nie są już tak popularne. Przez - lub dzięki - boomowi na AI obserwujemy zacieranie granic między specjalizacjami i na powrót cenimy umiejętności generalistyczne, które pozwalają działać na każdym etapie wytwarzania oprogramowania. Skoro sam kod może napisać sztuczna inteligencja, to systemowe spojrzenie na produkt, a nie tylko na jego wycinek, staje się kluczem do sukcesu.
Dziś szeroko dyskutowane są pytania: Kiedy zatrą się granice między tymi, którzy określają co jest do zrobienia i tymi, którzy tworzą oprogramowanie? Czy umiejętności programistyczne (i na jakim poziomie) są jeszcze potrzebne? Czy tak zwani Product Builderzy to jedynie nowi Fullstackowie, czy może są “przyszłymi programistami”?
Aktualnie specjaliści IT albo pogłębiają umiejętność programowania, albo gonią za częstymi zmianami narzędzi, które powinny wspierać ich pracę, a nie ją kompletnie zastępować. Sposób korzystania z modeli językowych zmienia się tak szybko, że wiedza sprzed 2-3 miesięcy jest często nieznośnie nieaktualna. Przed nami jeszcze wiele przetasowań, a wystarczy sobie wyobrazić, co stanie się, jak pęknie rynkowa bańka AI i czy oferowane dziś narzędzia (LLM-y) będą równie wydajne i dostępne finansowo?
Czy Product Builderzy, dla których podstawową umiejętnością jest zaprzęganie AI do pracy, będą w stanie poradzić sobie z ograniczeniami dostawców zaawansowanych narzędzi? Czy ograniczona wiedza o samym paradygmacie programowania będzie wystarczająca do pracy z mniej rozgarniętymi modelami lokalnymi? A może rynek podzieli się na generalistów i specjalistów?
Paweł Nejczew