Pytanie, które jako właściciel Clocklike Minds dostaję najczęściej brzmi
Na czym polega low-code/bpm?
Moi znajomi i rodzina, a nawet osoby z branży czy kandydaci podczas rozmów kwalifikacyjnych zastanawiają się nad tym, kto tworzy aplikacje na tych platformach? Czy są to programiści, czy może ludzie z biznesu z odpowiednim przeszkoleniem technicznym? Trzeba być absolwentem uczelni wyższej, czy wystarczy wziąć udział w kilku szkoleniach?
Postaram się opowiedzieć jak to wygląda z mojej perspektywy, osoby, która jest związana z technologią Pega od blisko 12 lat.
Moim zdaniem kluczową cechą, którą powinien charakteryzować się twórca takich aplikacji, jest kreatywność i umiejętność myślenia komputacyjnego. Może ta definicja brzmi nieco skomplikowanie, ale jest to po prostu proces znajdowania rozwiązań problemów z różnych dziedzin przy świadomym wykorzystaniu metod i narzędzi komputerowych.
Taki proces składa się z następujących kroków:
- dekompozycja problemu na części składowe,
- analiza, czyli identyfikacja prawidłowości,
- eliminacja nieistotnych elementów,
- rozwiązanie problemu.
Nazywam to po prostu wyczuciem programisty lub sprytem.
Języki programowania i platformy niskokodowe to tylko przykłady metod i narzędzi, których używasz do implementacji wymyślonego wcześniej rozwiązania. Oczywiście każdy język ma inną strukturę i wymaga innych metod/funkcji/technik, więc progi wejścia dla każdej technologii są różne. Platformy o niskim kodzie/bpm mają ten próg położony znacznie niżej w porównaniu ze standardowymi językami programowania i narzędziami.
Nie musisz zastanawiać się nad całą gamą aspektów technicznych, o które należy zadbać, korzystając ze standardowych metod programowania. Nie tworzysz wielowątkowego kodu, nie używasz semaforów i muteksów, odbić, filtrów, interceptorów, adnotacji i wstrzykiwania zależności. Większy poziom abstrakcji wynikający z korzystania z gotowych komponentów i narzędzi wizualnych pozwala bardziej skupić się na zagadnieniach biznesowych, dla których trzeba przygotować rozwiązanie IT. Skutkuje to większą świadomością biznesową po stronie deweloperów. Nasi specjaliści są ekspertami m.in. w zakresie leasingu, ubezpieczeń i bankowości, znają większość procesów i produktów oraz zagadnień po stronie klienta. Dodatkowo ścisła współpraca z osobami, dla których tworzymy rozwiązanie IT, pozwala nam przygotować je szybciej i lepiej. Ta forma współpracy z biznesem wymaga jednak odpowiednich umiejętności miękkich, dlatego w tym przypadku otwartość, komunikatywność, umiejętność kompromisu czy zarządzania konfliktem są cechami niezwykle ważnymi, a nawet niezbędnymi.
A co z Pegą? Jak wygląda praca z tą technologią?
Tutaj mamy bardzo dużo możliwości. Programiści mogą tworzyć i konfigurować prostsze funkcjonalności (diagramy procesów, raporty, UI), ale także robić rzeczy bardzo złożone (zaawansowane integracje z różnymi technologiami, niestandardowe rozszerzenia w Javie, konfiguracje i implementacje mechanizmów bezpieczeństwa). Pega umożliwia wszechstronny rozwój i pozwala rozwijać umiejętności na wielu poziomach jednocześnie: backend, frontend, integracja, analiza danych… – nie musisz wybierać. Specyfika pracy na platformie low-code sprawia, że każdy członek zespołu wykonuje zadania z wielu obszarów, a mniejsze zespoły projektowe zwiększają ekspozycję i wpływ każdego członka na ostateczny kształt rozwiązania.
Studia informatyczne i doświadczenie? Czy ich posiadanie jest konieczne?
Aby rozpocząć pracę z technologią, studia i doświadczenie nie są konieczne jednak dają znaczną przewagę. Jeśli ich nie masz musisz sam poznawać pewne obszary, mierząc się z coraz trudniejszymi zadaniami. Droga przez szkolenia i szkoły kodowania jest szybsza (nacisk kładziony jest na umiejętności, które od razu przydają się w pracy), ale i tak trzeba będzie odrobić trochę pracy domowej. Dlatego tak ważny jest mentoring i budowanie zrównoważonych zespołów projektowych, o czym pisze Łukasz Bieniewicz w swoim artykule (przeczytaj tutaj)
Podsumowując, głównymi kryteriami wyboru osób, które chcą zostać programistami systemów low-code/bpm, są umiejętność rozwiązywania problemów, otwarty umysł, chęć nauki i kreatywność. Osoby te powinny również lubić pracę z innymi ludźmi, umiejętnie działać w zespole oraz być gotowym na spotkanie z różnymi kulturami organizacyjnymi. Potem pozostaje im już tylko nauka, praca oraz ciągły rozwój i doskonalenie swoich umiejętności technicznych. W branży IT jest to nieuniknione, ponieważ do tworzenia dobrej jakości rozwiązań sama technologia, nawet najlepsza, nie wystarczy. Kluczowy pozostaje czynnik ludzki.