No-code/low-code Developer - o nowych rolach w IT
Nowe stanowiska w branży IT rodzą się i umierają wraz z technologiami czy zdobywaniem popularności przez nowe metodologie pracy. Choć oczywiście są także role, z którymi czas obchodzi się więcej niż łagodnie (pozdrowienia ślemy COBOL Developerom), to jednak wzrost liczby ofert pracy w danych specjalizacjach jest wiązana z bieżącymi trendami technicznymi.
Jednym z tych trendów jest aktualnie rosnąca dostępność i popularność platform no-code oraz low-code. Choć pierwotnie miały one służyć nietechnicznym pracownikom na budowanie prostych aplikacji, to dziś mnogość i funkcjonalne bogactwo narzędzi no-/low-code pozwala na znacznie więcej.
To, w połączeniu z rosnącą automatyzacją procesu samego pisania kodu, może skutkować narodzinami całkowicie nowej specjalizji IT – no-code/low-code developera.
No-code/low-code developer
W pierwszej chwili takie zestawienie może wydać się absurdalne. Mowa przecież o developerach, którzy w swojej codziennej praktyce programowaliby bardzo niewiele, lub wręcz nic. Jak zatem miałyby powstać aplikacje, ich testy, łatanie błędów, wdrożenie? Odpowiedź stanowić mogą narzędzia bardzo aktywnie rozwijane między innymi przez Amazon, co było bardzo widoczne podczas zeszłorocznej konferencji Re:Invent, podczas której grały one pierwsze skrzypce.
Amazon Web Services od lat systematycznie wzbogacane jest o nowe narzędzia no-code/low-code, z których część jest już dojrzałą i może być wykorzystywana w wielu obszarach rozwoju oprogramowania. I nie chodzi tu tylko o proste aplikacje służące do budowania kolejnych prostych aplikacji za pomocą przysłowiowego przeciągania bloków reprezentujących logikę i ich łączenia, na podstawie czego edytor sam generuje kod. Mowa o kompletnych zaawansowanych platformach deweloperskich oferujących takie mechanizmy jak generowanie modeli uczenia maszynowego bez konieczności programowania.
Tak działa SageMaker Canvas, ale oferta Amazonu jest znacznie bogatsza, dość wspomnieć o Amplify Studio, narzędziu low-code pozwalającym budować całkiem złożone aplikacje webowe. Czy też o Honeycode, całkowicie now-code’owej platformie do budowania aplikacji przeglądarkowych i mobilnych. Amazon, zresztą nie jako jedyny, bierze przyszłość platform low-code i no-code bardzo na poważnie i widać wyraźny rozwój Amazon Web Services w tym kierunku.
Platformy no-code/low-code – kwestia potrzeby
Podobne decyzje podejmują liczne największe korporacje. Microsoft ma swoje Power Apps, Apple rozwija swoje SwiftUI, z użyciem którego aplikacje buduje się dosłownie metodą przeciągnij i upuść czy Trinity – no-code’ową platformę AI. Tendencja jest zatem więcej niż wyraźna i faktycznie może poskutkować tym, że wśród ofert pracy coraz częściej odnajdywać będziemy oferty pracy nie dla Front-end developera czy programisty Java, lecz dla deweloperów no-code/low-code.
Pomiędzy poszczególnymi platformami można zauważyć podobieństwa. Przede wszystkim są one najczęściej oferowane jako element usług chmurowych, zaś budowane aplikacje to aplikacje typu cloud-native, co samo w sobie może być zaletą. Nie ma konieczności przenoszenia obciążeń do chmury, całość można dowolnie skalować i delegować na dostawcę usługi odpowiedzialność za bezpieczeństwo. Słowem – oprogramowanie budowane z użyciem współczesnych platform now-code/low-code od razu przychodzi z całym dobrodziejstwem inwentarza aplikacji chmurowej.
To jednak nie zalety Microsoft Power Apps czy Amazon Amplify Studio mogą zdecydować o tym, czy developer no-code/iow-code będzie funkcjonował w IT jako osobne stanowisko, lecz konieczność podyktowana demografią. Na przykład Departament Pracy USA szacuje, że do 2030 roku na świecie będzie ponad 80 mln wakatów w IT. Warto też przypomnieć w tym kontekście niedawne słowa Tima Cooka, szefa Apple, który wyraził swoje zaniepokojenie o przyszłość IT ze względu na niewystarczającą liczbę pracowników. Skłoniło go to nawet do wystosowania – wraz z przedstawicielami ponad 500 innych firm – apelu do władz federalnych USA o zwiększenie wysiłków mających na celu nauczenie programowania możliwie jak największej liczby uczniów i studentów.
Siłą rzeczy uruchomienie stanowisk low-code/no-code developerów jest naturalną reakcją na taki stan rzeczy. Obniża próg wejścia do branży, łagodzi także krzywą uczenia. Powstanie nowych ról może nie być więc wcale kwestią czyjegokolwiek wyboru, lecz koniecznością. Oczywiście będzie to stanowiło małą i zapewne przełoży się na to, jak powstaje oprogramowanie w sytuacji, gdy udziały w rynku softu w dużej mierze automatycznie wygenerowanego przez nieprogramujących programistów będzie rosnąć.
Developer do lamusa?
Oczywiście nawet jeśli w przyszłości będziemy mieli od czynienia z low-code/no-code developerami jako osobnymi stanowiskami, to nie oznacza to jeszcze, że odbije się to na developerach programujących. Może się jednak okazać, że to duże zwiększenie się liczby osób zdolnych tworzyć oprogramowanie bez umiejętności programowania, będzie miało większy wpływ na pracę „tradycyjnych” developerów niż rzekome widmo bezrobocia technologicznego wynikającego z automatyzacji pisania kodu. Często bowiem argumentuje się, że kluczową cechą programisty jest umiejętność rozwiązywania problemów, a nie samo kodowanie.
Zdobycie większej popularności przez platformy low-code i no-code otworzyłoby więc drzwi do rozwiązywania tychże problemów znacznie większej liczbie osób, jeszcze bardziej zegalitaryzowałoby i zdemokratyzowało dostęp do rynku pracy w IT – otworzyłby się także przed tymi, którzy nie programują, bo kod mógłby powstawać półautomatycznie. Kwestia jakości końcowych efektów byłaby drugorzędna, jeśli w obliczu niewystarczającej liczby programistów firmy zwyczajnie musiałyby, nie mając innego wyjścia, produkować oprogramowanie bezkodowo.
Oczywiście wizja ta jest jeszcze odległa, ale kolejne premiery narzędzi opracowywanych przez Amazon czy Microsoft pokazują, że wcale nie taka nieprawdopodobna.