Pracując w Comarch możecie trafić na bardzo wiele projektów. Rozwojem technicznym jednego z nich kieruje dziś Witold Zabłocki – nasz były stażysta, który opowiedział o pracy nad Comarch Custody. Zapraszamy do lektury.
Na początek był staż
Wszystko zaczęło się lata temu od stażu programistycznego w Comarch. Dołączyłem wówczas do projektu, w którym wspólnie z innymi stażystami mieliśmy za zadanie opracowanie POC (ang. proof of concept), systemu w architekturze klient-serwer, wykorzystującego w komunikacji serwisy SOAP. Moje zadania w zespole koncentrowały się na dopracowaniu webserwisów. Są to usługi sieciowe, wykorzystujące ustalone protokoły i standardy pozwalające na wymianę danych między systemami, niezależnie od wykorzystanego w projekcie języka programowania.
A potem już była tylko praca…
Po ukończonym stażu podobnie jak większość moich kolegów postanowiłem pozostać w Comarch, zbierając swoje pierwsze doświadczenie jako młodszy programista. Przez lata budowałem swoją karierę w firmie, przez stanowiska developerskie, aż po lidera zespołu odpowiadającego za rozwój techniczny jednego z naszych produktów – Comarch Custody. Początkowo jako junior developer byłem zaangażowany w znajdowanie rozwiązań błędów i implementowaniu mniej skomplikowanych funkcjonalności.
Wraz ze wzrostem kompetencji technicznych oraz, co równie ważne, wiedzy biznesowej o działaniu systemu, zagadnienia stawały się coraz bardziej skomplikowane, a także przełożeni oczekiwali większej samodzielności w ich wykonywaniu. W kolejnych latach, przechodząc przez stanowiska projektancko-programistyczne działo się bardzo dużo. Warto wspomnieć o czynnym udziale w technicznej opiece nad klientem, wdrożeniach systemu w kolejnych bankach i jego instalacją oraz pełnieniu roli mentora młodszych programistów czy opiekuna podczas programu stażowego organizowanego corocznie przez Comarch.
Kilka słów o systemie, nad którym pracuję
Comarch Custody to aplikacja back-office oferowana głównie dużym instytucjom finansowym. Z systemu stworzonego i rozwijanego przez naszą firmę korzysta wiele banków w Polsce. By wymienić tylko niektóre nich, należy wspomnieć o mBanku, Banku Millennium oraz PKO BP. W najbliższych latach chcielibyśmy też wejść na rynki zagraniczne.
Comarch Custody wspiera przede wszystkim duże instytucje finansowe w obsłudze transakcji na papierach wartościowych. Zajmujemy się m.in.:
- Przechowywaniem sald papierów wartościowych,
- Rozliczaniem transakcji zawartych na tych instrumentach,
- Obsługą wypłat dywidendy, odsetek czy wykupem obligacji.
System Comarch Custody odpowiada również za wymianę komunikatów z systemami wewnętrznymi banków oraz podmiotami zewnętrznymi, takimi jak Krajowy Depozyt Papierów Wartościowych i jego zagraniczne odpowiedniki, Giełda Papierów Wartościowych oraz inne instytucje finansowe. Dodatkowo system Comarch Custody nalicza prowizje za operacje wykonywane w systemie, przygotowuje serię raportów do instytucji nadzorujących rynek kapitałowy oraz oblicza wysokość podatku od przychodów z instrumentów finansowych.
Projekt z historią w tle
Comarch Custody powstał ponad 20 lat temu, w czasach, kiedy komputer stacjonarny można było częściej zobaczyć w kawiarence internetowej, a sam Internet był niemal dobrem luksusowym. W roku 2009 pojawiło się spore odświeżenie. Obecnie pracujemy już nad trzecią wersją, która swoją premierę będzie miała zapewne już niedługo.
Kolejne generacje systemu różnią się od siebie przede wszystkim technologiami, w jakich są zaimplementowane. Pierwotnie Comarch Custody był stworzony w architekturze klient-serwer. Polegała ona na wydzieleniu dwóch warstw aplikacji – ciężkiego klienta (tzw. grubego klienta) realizującego częściowo logikę aplikacji oraz serwera bazy danych. Druga wersja oparta jest na architekturze trójwarstwowej, gdzie udostępniamy naszym klientom aplikację webową wykonaną w technologii Java Server Faces, a pod spodem wykorzystującą komponenty EJB (ang. enterprise java beans) z Javy EE (ang. Java platform enterprise edition).
Custody 3.0
Obecnie pracujemy w Comarch nad trzecią wersją systemu opartą na architekturze mikroserwisów. Jest to podejście do tworzenia aplikacji polegające na wydzielaniu modułów, będącymi samymi w sobie aplikacjami, odpowiadającymi za dany fragment funkcjonalności systemu. Moduły te komunikują się między sobą, wykorzystując między innymi API (ang. application programming interface), czyli zestaw wytycznych opisujących sposób komunikacji i format wykorzystywanych w niej danych lub kolejki, razem tworzą spójną całość. Rozwijamy ten projekt, wykorzystując najnowsze, komercyjnie dostępne technologie, Javę w wersji 17, Spring Boot, Angular najnowszej wersji. Dużą część projektu będą stanowić rozwiązania chmurowe, umożliwiające uruchomienie aplikacji praktycznie w dowolnej chmurze na platformie Kubernetes.
Słowem, które najbardziej opisuje nasz projekt, jest zmiana. Mimo że system Custody ma już ponad 20 lat, to nieustannie staramy się go dopasować do najnowszych standardów technologicznych. Kolejne wersje programu znacząco różnią się od siebie. W naszym zespole skupiamy się również na bieżącym wsparciu obecnie komercyjnie dostępnych wersji. Większość naszych klientów migrowała już na drugą wersję oprogramowania, niektórzy jeszcze wciąż używają pierwszej. To wymusza na nas zapewnienie maksymalnego bezpieczeństwa użytkowania poprzednich wersji.
Nie tylko jedno miasto
Siedziba naszej firmy mieści się w Krakowie. Tam też powstał zespół rozwijający warstwę techniczną Comarch Custody. W pewnym momencie, wraz z rozbudową zespołu poznańskiego, kierownikiem został menadżer ze stolicy wielkopolski. Dziś, podobnie jak ja, większość zespołu pracuje w poznańskim oddziale Comarch. Wciąż jednak nie zamykamy się na inne miasta. Część z nas pracuje z Warszawy i Wrocławia. Większość pracowników odpowiedzialnych za część sprzedażową i konsultingową pozostaje w naszej centrali korporacyjnej w Krakowie.
Jak pracujemy w Comarch?
Powyżej opisany jest projekt, nad którego rozwojem pracuję już od kilku lat, a który towarzyszy mi w zasadzie od początku mojej kariery zawodowej. Jednak, produktów, takich jak Comarch Custody, nad którymi pracuję się w naszej firmie jest w sumie kilkadziesiąt. Odpowiadają one potrzebom klientów z różnych gałęzi gospodarki. Każdy z nich niesie ze sobą inne wyzwania i nieco inne narzędzia pracy.
Wybór technologii do projektu kierowany jest często standardami firmowymi, ale zespoły mają też pewną niezależność. Praca w Comarch nad takim projektem jak Custody wiąże się z ciekawymi wyzwaniami przy rozpoznawaniu kolejnych bibliotek i platform programistycznych w celu realizacji nowych funkcjonalności. Technologie i potrzeby Klientów zmieniają się przez lata, co daje możliwości rozwoju i wdrażania kolejnych ciekawych rozwiązań.
Najczęściej wykorzystywanymi technologiami przy systemie Comarch Custody są Java, Spring oraz Angular. Technologie te wykorzystywane są już w większości zespołów programistycznych w Comarch. Najważniejsza jest jednak atmosfera wewnątrz zespołu. Firmę tworzą ludzie, a ci w krakowskiej spółce są naprawdę wyjątkowi.
Coś dla kandydatów
Praca w Comarch to wiele wyzwań i szerokie ścieżki rozwoju. Pracujemy na najnowszych dostępnych technologiach. Nieustannie redukujemy tzw. dług technologiczny, starając się być o krok przed konkurencją. Chcąc zapewnić naszym klientom najlepszą jakość usług, migrujemy starsze projekty na nowsze technologie. Dajemy szansę młodym developerom oraz stażystom. Wierzymy w ich rozwój i dużą wartość dla firmy.
A na koniec, z nami możesz zbudować karierę w IT po swojemu! Sprawdź najnowsze oferty i aplikuj.