Czym zajmuje się Programista Integracji Systemów IT?

Stanowisko „programista integracji systemów IT” to dla deweloperów, zwłaszcza tych na początku kariery w branży IT, niewiele mówiące hasło.


Aby rozjaśnic nieco temat, w poniższym artykule opiszę:

  • na czym polega praca programisty integracji.
  • jakich kompetencji wymaga.
  • dlaczego warto rozwijać swoją karierę w tym kierunku.

Zanim trafiłem do Unity Group i zostałem programistą integracji, miałem za sobą już kilka lat doświadczenia jako Full Stack Developer Java. Jednak to dopiero podczas procesu rekrutacji pierwszy raz usłyszałem o szynie danych Mule ESB, a ponieważ staram się być na bieżąco z nowinkami technologicznymi – temat wzbudził moje zainteresowanie. Rekrutację oczywiście przeszedłem pozytywnie i jeszcze przed oficjalnym dołączeniem do zespołu zacząłem na własną rękę poszerzać wiedzę o integracji. Mimo, że byłem już doświadczonym specjalistą i niejedno na konsoli widziałem, zaciekawiły mnie możliwości jakie oferuje MuleSoft Anypoint Platform w połączeniu z Javą. W moim przypadku atrakcyjna była również szansa na zmianę branży – z systemów bankowości korporacyjnej przechodziłem do realizacji innowacyjnych projektów omnichannelowych i dedykowanych. Postrzegałem to jako same zalety. Ale co dalej? 

Jak wygląda praca programisty integracji? 

Pomijam oczywistą oczywistość, że dzień programisty zaczyna się od kawy – choć dokładnie taka jest prawda 😊 Realnie rozpoczynam pracę od przejrzenia kalendarza i zadań na dany dzień. W miarę mojego rozwoju w obszarze integracji zwiększyła się oczywiście liczba projektów, spotkań czy kontaktu z klientem, których początkowo nie było aż tak dużo. Oprócz programowania, pełnię także funkcję lidera technicznego i czerpię sporą satysfakcję z przekazywania mojej wiedzy innym członkom zespołu.

Programowanie w Mule ESB odbywa się przez GUI, może się zatem wydawać, że cała „magia” dotyczy logicznego układania konkretnych „klocków”, ale konfiguracja szyny danych jest znacznie bardziej złożona niż można to sobie początkowo wyobrażać. Dużym wyzwaniem jest, aby wszystko efektywnie, wydajnie i stabilnie działało. Ogólnie mówiąc, należy skrupulatnie zaplanować architekturę całego rozwiązania, którego szyna usług jest jednym z elementów, uwzględniając oczywiście potencjalne przyszłe funkcjonalności i procesy, które nasze rozwiązanie będzie wspierać.

A dokładniej?

Nasze codzienne zadania odbywają się w zespole, który łączy deweloperów, analityka i testera, pracujemy zgodnie z filozofią Agile. Obecnie pewna część naszego zespołu to osoby pracujące w 100% zdalnie. Projekty są oczywiście różne, ale opierają się na potrzebie klienta dotyczącej sprawnego przepływu informacji między różnymi – separatywnymi – systemami IT. Obecnie każde przedsiębiorstwo posiada przynajmniej kilka systemów IT takich jak: ERP, CRM, WMS, PIM, CMS i wiele innych, a także korzysta z systemów partnerów i kontrahentów. Systemy te mogą działać dużo efektywniej, jeśli będą w stanie sprawnie i szybko się ze sobą komunikować. Tu właśnie z pomocą przychodzi szyna danych. Dzięki niej możemy połączyć systemy, które wystawiają swoje API na różnych interfejsach, ale także te, które takiego API nie posiadają i musimy “podpiąć” się do bazy danych lub też pobierać dane z plików. Dzięki szynie danych nie musimy wprowadzać żadnych zmian po stronie systemów dziedzinowych. Szyna posiada setki konektorów, dzięki którym jest w stanie “wpiąć się” praktycznie w każdy system dziedzinowy. Kiedy wiadomość przechodzi przez szynę, dokonujemy jej transformacji do postaci, którą są w stanie zrozumieć poszczególny elementy.

Można powiedzieć, że codziennością w tym obszarze branży IT są zadania dotyczące budowania architektury rozwiązań i mierzenie się z dotyczącymi tego wyzwaniami z wydajnością, skalowalnością czy reużywalnością. 

Dobrą ilustracją procesu integracji jest np. integracja technologii Pimcore (system klasy PIM) z systemem zewnętrznym e-commerce B2B lub B2C (np. Samsung), gdzie korzystając z ich API pobieramy dane o produktach – opisy, multimedia itp. i wykonujemy transformację wiadomości, aby dopasować się do interfejsów i formatów danych wspieranych przez system Pimcore.

Często realizujemy projekty dla dużych i znanych klientów, np. Volkswagen Group Polska, Holding One (właściciel marki Traficar), LPP (właściciel marki Reserved), GATX i wielu innych. 

Jakie technologie powinien znać programista integracji? 

Do wykonywania tej pracy niezbędna jest znajomość języka Java. Spotkałem się z opiniami, że programowanie w integracjach ma w istocie niewiele wspólnego z „prawdziwym” programowaniem w Java. Moim zdaniem nie jest to prawda. Na co dzień w swojej pracy wykorzystuję nowe funkcjonalności, które daje nam Java 8, co pozwala mi pozostawać na bieżąco ze zmianami w tej technologii. Jeśli więc dla kogoś wydaje się to barierą – obawy są nieuzasadnione. Przydatna jest również znajomość Hibernate, JPA, czy JUnit. Niezbędna będzie wiedza z zakresu baz danych – SQL, oraz znajomość silników bazodanowych. Dla mnie w kilku projektach istotna była również wiedza z zakresu architektury SOA oraz mikroserwisowej, ale to nastąpiło dopiero na dalszym etapie pracy w integracjach.

Na pewno dla osób, która podobnie jak ja, nie miały wcześniej do czynienia z tym obszarem w IT, integracje mogą się wydawać zagadnieniem trudnym do opanowania i wymagającym przyswojenia sporej ilości wiedzy, aby móc wydajnie pracować. Uważam, że w Unity Group bardzo fajnie podchodzimy do wdrożenia nowych osób. Podczas rozpoczęcia pracy świeży członek zespołu otrzymuje czas na naukę nowych technologii, wewnętrznych zasad programowania oraz jest pod opieką mentora, który wspiera jego początkowy rozwój. 

Jeśli chodzi o narzędzia i technologie, których używamy w obszarach integracji możemy wymienić m.in.: Mule ESB, WSO2, Apache Camel, czy Talend. Początkowo zdobycie wiedzy z tego zakresu wydaje się sporym wyzwaniem, ale zapewniam, że jest to jak najbardziej przyswajalna, a co być może ważniejsze – niezwykle ceniona na rynku pracy kompetencja. Tak jak wspomniałem wcześniej, podczas nauki jesteśmy pod opieką doświadczonego specjalisty. Dzięki sprawnej komunikacji, prócz mentora, zawsze możemy w ramach zespołu liczyć na pomoc innych osób. 

Dlaczego warto rozwijać karierę w tym kierunku? 

Moim zdaniem dużym plusem możliwości rozwoju w tym kierunku jest relatywnie – jak na branżę IT – niski próg wejścia merytorycznego. Oczywiście, tak jak już wspomniałem, istotna jest wiedza z zakresu Javy, ale to wiedza, którą można nabyć dosyć szybko w wystarczającym zakresie, znając już np. inny język programowania lub mając chęć do nauki we własnym zakresie. Dlatego integracje systemów IT to idealna dziedzina dla osób, które chcą zmienić wiodącą technologię lub rozwinąć swoje kompetencje dotyczące Javy.

Tak naprawdę zakładając, że kandydat posiadałby jedynie wiedzę z Javy na wymaganym przez nas poziomie, ale był osobą komunikatywną i ambitną, możemy przyjąć, że relatywnie szybko odnalazłby się w temacie integracji. Na takie osoby jesteśmy również otwarci w naszym zespole, ponieważ chętnie dzielimy się wiedzą i wierzymy, że najlepiej jest zdobywać ją bezpośrednio podczas pracy z projektem pod okiem doświadczonego mentora.

Przede wszystkim wybór takiej ścieżki rozwoju jest przyszłościowy, ponieważ bardzo dużo systemów pisanych kiedyś jest zaprogramowanych do komunikacji „point to point”, a dla organizacji dążących do transformacji cyfrowej jedyną możliwością na płynne przejście tego procesu jest efektywne skomunikowanie już istniejących. Przez najbliższe lata pracy będzie zatem pod dostatkiem i jest ona doceniana zarówno przez pracodawców, jak i klientów. Przy tym technologie stosowane w szynach danych są naprawdę innowacyjne – dla osób lubiących mierzyć się z nowościami powinien być to jeden z głównych atutów.

Zamiast podsumowania – obalamy mity

Praca przy integracjach nie zawiera efektu wow, jest mało interesująca – pogląd ten wziął się prawdopodobnie z kwestii związanych z programowaniem webowym. Bez wątpienia efekt pracy, który możemy zobaczyć natychmiast i dodatkowo ładnie go ostylować, budzi w programiście żywsze emocje niż konieczność główkowania nad projektowaniem i optymalizacją przepływów pomiędzy systemami IT. Ale zaręczam, że kiedy zaprojektujemy oraz zaprogramujemy szynę danych, a następnie połączymy wszystko w dobrze działającą całość, kiedy wszystkie systemy mogą ze sobą “rozmawiać”, przepływ wiadomości odbywa się bardzo szybko pomiędzy elementami oraz w łatwy sposób możemy dołączać kolejne systemy oraz najważniejsze, rozwiążemy problemy klienta – satysfakcja jest ogromna 😊

W integracjach niewiele jest „prawdziwego” programowania w Javie – o tym już wspominałem. Nie ma powodów do obaw – praca z Javą na tym stanowisku jest nieodzowna. I nie chodzi tu o napisanie najprostszej klasy czy uzupełnienie jej danymi. Integracje to nie tylko nauka Javy, ale również projektowania obiektowego.


Zastanawiasz się nad rozwojem Twojej kariery w obszarze Integracji IT? Porozmawiajmy!

Zacznij tutaj:

  1. Senior Software Integration Engineer
  2. Software Integration Engineer

Nasi eksperci
/ Dzielą się wiedzą

Ilustracja przedstawiająca robota reprezentującego sztuczną inteligencję, otoczonego symbolami wyzwań i błędów w sztucznej inteligencji. Obraz zawiera pomarańczowy mózg, zepsutą żarówkę i cyfrowe piksele, symbolizujące dane i zagrożenia etyczne związane z awariami sztucznej inteligencji
30.10.2024

Wpadki AI / Gdy sztuczna inteligencja wymyka się spod kontroli

AI

Sztuczna inteligencja rewolucjonizuje wszystkie branże, oferując naprawdę imponujące możliwości w zakresie wydajności, szybkości i innowacyjności. Jednak w miarę jak systemy AI stają się coraz bardziej zintegrowane z procesami biznesowymi, staje się oczywiste, że narzędzia te nie są również pozbawione wad. Od małych błędów po poważne...

AI w optymalizacji łańcucha dostaw materiałów budowlanych
28.10.2024

Zastosowanie sztucznej inteligencji w optymalizacji łańcucha dostaw materiałów budowlanych 

E-Commerce

Czy sztuczna inteligencja może zrewolucjonizować zarządzanie łańcuchami dostaw materiałów budowlanych? Dowiedz się, jak AI może pomóc w optymalizacji prognozowania zapotrzebowania, zarządzaniu zamówieniami i stanami magazynowymi, a także zminimalizować ryzyko i spersonalizować ofertę dla klientów. Odkryj przyszłość AI w branży...

08.10.2024

Magento Open Source vs Adobe Commerce / Który system e-commerce wybrać?

E-Commerce

Wybór odpowiedniej platformy e-commerce to kluczowa decyzja, która może zaważyć na sukcesie Twojego biznesu w handlu online. Magento Open Source oraz Adobe Commerce to dwa popularne rozwiązania, oferujące różne możliwości dostosowane do potrzeb przedsiębiorstw. Podczas gdy Magento Open Source to elastyczna platforma z otwartym kodem...

Ekspercka wiedza
dla Twojego biznesu

Jak widać, przez lata zdobyliśmy ogromną wiedzę - i uwielbiamy się nią dzielić! Porozmawiajmy o tym, jak możemy Ci pomóc.

Napisz do nas

<dialogue.opened>