Cześć, wystartowaliśmy z nowym cyklem podcastów Comarch Careeres. W każdym odcinku nie tylko przekazujemy Wam porcję informacji o różnych stanowiskach, ale także opowiadamy o ścieżkach kariery, projektach i możliwościach. Słuchając nas, dowiecie się, jakie umiejętności i doświadczenie warto posiadać.
Szymon Banowski: Cześć, nazywam się Szymon Banowski i od 3,5 roku pracuję w Comarch, jako konsultant ds. wdrożeń w sektorze Telco BSS przy wdrożeniach flagowego produktu naszego sektora, jakim jest Comarch BSS Suite. W dzisiejszym podcaście będę chciał opowiedzieć o specyfice pracy, czyli o tym jak na co dzień wygląda praca konsultanta ds. wdrożeń, jakie są nasze zadania, obowiązki, jakie umiejętności moim zdanie trzeba posiadać, aby pracować, jako wdrożeniowiec. Poruszę też temat ścieżek rozwoju, a także przybliżę charakterystykę pracy w sektorze telekomunikacyjnym. Zaczynajmy!
Konsultant ds. wdrożeń, czyli właściwie tak naprawdę kto? Wielu z Was pewnie zadaje sobie to pytanie, ponieważ o ile specyfikacja pracy takich zawodów związanych z informatyką, jak programista czy tester jest potocznie znana, o tyle w przypadku konsultanta ds. wdrożeń odpowiedź na to pytanie wcale nie jest taka prosta. W przypadku wdrożeniowców charakterystyka pracy i codzienne obowiązki mogą się różnić w zależności od kilku czynników. Branży, gdyż specyfika wdrożeń będzie się różnić w branży przemysłowej, a chociażby w bankowości. Wielkości firmy, w jakiej się pracuje, gdyż im większa firma, tym większy podział na kompetencje w danym obszarze i mniej tzw. ludzi od wszystkiego. A także w największym stopniu zależy od rodzaju wdrażanego produktu. Inaczej wygląda przecież praca wdrożeniowca wdrażającego oprogramowanie dla kilkuosobowej firmy, jak sklep czy mały hotel, gdzie projekt jest realizowany u klienta przez jednego bądź kilku wdrożeniowców w kilka tygodni, w porównaniu do pracy w dużym projekcie telekomunikacyjnym gdzie zaangażowanych jest nawet kilkadziesiąt osób, a samo wdrożenie może trwać nawet kilka lat.
Chcąc w najprostszy sposób scharakteryzować pracę konsultanta ds. wdrożeń, można powiedzieć, że tak naprawdę jest to połączenie pracy analityka, testera i programisty. Ja sam dzisiaj opowiem, jak wygląda praca wdrożeniowca z punktu widzenia pracy przy projektach dla dużych operatów telekomunikacyjnych, takich jak Orange czy Deutsche Telekom. Przejdźmy więc do tego, jak wygląda praca konsultanta ds. wdrożeń.
Jeśli chodzi o codzienne obowiązki konsultantów, to różnią się one w zależności od fazy projektu. Na początku wdrożenia w fazie analizy, wdrożeniowcy wcielają się w rolę analityków biznesowych i do naszych zadań na tym etapie należy: analiza potrzeb klienta, sprawdzenie, czy to, co klient wyspecyfikował pokrywa się z tym co zostało sprzedane, zidentyfikowanie potencjalnych funkcjonalności, które mogą mieć wpływ na core produktu, a także późniejsze przedstawienie tych wymagań zespołowi R&D. W trakcie tej fazy na bazie analizy powstają dokumenty HLD, czyli analiza wysokopoziomowa, a także później LLD, czyli niskopoziomowy, szczegółowy projekt systemu. Dokumenty te można przysłowiowo nazwać Biblią projektu, gdyż spisane są tam wszystkie wymagania oraz ewentualne wskazówki co do implementacji. Muszą być one przygotowane starannie, gdyż wszelakie pominięcia czy też dziury mogą działać na naszą niekorzyść w przypadku ewentualnych sporów z klientem, czy dana funkcjonalność jest w zakresie projektu.
Po fazie analizy następuje faza implementacji. Na tym etapie produkt jest konfigurowany na podstawie wcześniej zdefiniowanych wymagań. Sam schemat konfiguracji może się różnić w zależności od modułu. Przykładowo mogą być to tak proste akcje, jak wyklikiwanie opcji w interfejsie użytkownika, po trudniejsze, jak definiowanie konfiguracji w języku interpretowalnym przez program, po pisanie mniej lub bardziej skomplikowanych skryptów. Przygotowane konfiguracje muszą być oczywiście przetestowane przed dostarczeniem do zespołu testów. Oczywiście jeśli takowy istnieje, gdyż w mniejszych projektach, często konsultanci są odpowiedzialni za testy końcowe przed dostarczeniem funkcjonalności do klienta. Wraz z rozwojem implementacji powstaje dokumentacja, która później przekazywana jest klientowi oraz do działu supportu, który przejmuje utrzymanie nad systemem. Często też w trakcie trwania projektu zadaniem konsultantów jest przeprowadzanie różnego rodzaju dem dla klientów, a pod sam koniec jego trwania szkolenie użytkowników końcowych z funkcjonalności systemu.
Na pewno dużym wyzwaniem w tym zawodzie, jest praca pod presją czasu. Terminy w projektach zwykle są bardzo napięte i często nieprzesuwalne, co sprawia, że pracy jest dużo i nieraz trzeba się bardzo wysilić, by spełnić oczekiwania i dowieźć obiecany zakres projektu na czas. Do tego może też dochodzić presja klienta, gdyż część praca wykonywana jest na miejscu, co sprawia, że do codziennych obowiązków dochodzi nam też szeroko rozumiana obsługa klienta, czyli odpowiadanie na jego pytania dotyczące systemu, uczęszczanie na różnego typu spotkania, czy też tłumaczenie się z błędów, jeśli takowe się zdarzyły i zostały zlokalizowane przez zewnętrzny zespół testerski. Jako ciekawostkę mogę powiedzieć, że ja sam przez 3,5 roku pracy w Comarch odbyłem już ponad 20 delegacji m.in. do takich krajów jak: Belgia, Hiszpania, czy w ostatnim czasie Departament Zamorski Francji – Reunion. Same delegacje zaś bywają fajną odskocznią od codziennej biurowej pracy, gdzie możemy połączyć przyjemne z pożytecznym, ponieważ wdrażamy projekty w wielu ciekawych miejscach. Dodatkowo zawsze ciekawym doświadczeniem jest zobaczenie, jak wygląda specyfika pracy w innych środowiskach.
Jeśli chodzi o osoby, które chciałby aplikować na stanowisko wdrożeniowca, to na pewno zaletą będzie ukończenie studiów związanych z IT. Jednak absolutnie nie jest to warunek konieczny. Specyfika pracy wdrożeniowca polega na tym, że dużą część wiedzy, którą nabywa z czasem, jest wiedzą produktową. Czyli np. jak skonfigurować dany moduł, jak go debugować, gdzie znaleźć przydatne logi, czy też jak w optymalny sposób testować daną konfigurację. Tej wiedzy nie posiądziemy na studiach lub czytając poradniki w Internecie. Trafiają się jednak też zadania, czy sytuacje, gdzie wiedza z obszaru IT bardzo się przydaje np. gdy trzeba napisać różnego typu skrypty, by wspomóc działanie systemu, czy chociażby w tak prozaicznych sytuacjach, gdy trzeba przeglądnąć duży plik z logami w poszukiwaniu błędów, czy też przetestować API, które zostało wystawione przez klienta. Jakie więc wymagania powinien spełniać kandydat na wdrożeniowca?
W przypadku naszego zespołu będzie to na pewno znajomość SQL, gdyż bazy danych są częścią wspólną wszystkich modułów. Znajomość GIT oraz w miarę płynne poruszanie się po systemach Linuxowych. Tak jak też wcześniej wspomniałem, czasami trzeba sobie pomóc skryptami, więc dobrze by było, gdyby potencjalny kandydat znał podstawy programowania. Poza tymi umiejętnościami stricte technicznymi bardzo ważna jest znajomość języka angielskiego, gdyż wszelaka komunikacja z klientem odbywa się właśnie w tym języku. Jeśli chodzi więc o wymagania co do umiejętności twardych, nie są one wcale wygórowane. Jednak w pracy wdrożeniowca bardzo ważne są też umiejętności miękkie. Osobę pracującą jako wdrożeniowiec powinno cechować analityczne myślenie. Poza tym ważne jest, by taka osoba była również otwarta, komunikatywna oraz umiała pracować w grupie. Wspomniałem wcześniej o tym, że część pracy odbywa się u klienta, tak więc ważne jest, by być też cierpliwym i asertywnym, gdyż może się zdarzyć, że klient przykładowo w miły sposób będzie próbował przemycić nowe funkcjonalności, których wcześniej nie było w planie. W takiej sytuacji trzeba umieć wytłumaczyć klientowi, że zmiana będzie dodatkowo płatna, co jak wiadomo, rzadko spotka się z pozytywnym odbiorem.
Jeżeli chodzi o mnie i o to, jak zaczęła się moja przygoda z tym zawodem, to zadziałał tu trochę przypadek. Na IV roku Informatyki szukałem pierwszej pracy w branży IT. W tamtym momencie byłem dość mocno zainteresowany tematyką testów automatycznych, więc swoje pierwszej pracy szukałem właśnie w tej dziedzinie. Na stanowisko testera automatyzującego aplikowałem też do Comarch. Po pierwszej rozmowie telefonicznej okazało się jednak, że mój stos technologiczny nie do końca pokrywa się z tym, czego w tamtym momencie szukano w zespole testerów i została mi zaproponowana rozmowa rekrutacyjna na konsultanta ds. wdrożeń. Jako konsultant zaczynałem właśnie od testowania rozwiązań, które były implementowane przez innych wdrożeniowców, bądź też dział R&D. Jednak stopniowo, wraz z upływem czasu, dzięki coraz lepszemu zrozumieniu działania produktów, które wdrażamy, nie ograniczyłem się już do samego testowania, a zaczynałem przyjmować też inne obowiązki, jak analiza potrzeb klienta, czy też wprowadzanie prostych zmian w systemie. Po pewnym czasie byłem już w stanie samodzielnie przeanalizować oraz skonfigurować nową funkcjonalność, co mi personalnie wydawało się dużo bardziej interesujące od samego testowania.
Aktualnie w projekcie, w którym pracuje zajmuję się migracją danych z systemów legacy do systemu Comarch. Moim zadaniem jest dopilnowanie tego, żeby dane, które dostarcza nam klient, były spójne, oraz że sama migracja do naszego systemu przebiegnie jak najmniej boleśnie dla klienta końcowego. Jest to bardzo skomplikowany proces, jednak po samej migracji odczuwa się dość sporą satysfakcję z wykonanej pracy. W każdej profesji tak i w tej, bardzo ważnym czynnikiem jest, by mieć poczucie rozwoju i nie trwać w stagnacji. Praca jako konsultant daje tak naprawdę bardzo duże możliwości rozwoju. Dynamika projektów sprawia, że rzadko kiedy można czuć zastój, a wraz z rosnącym stażem w firmie, zmienia się zakres obowiązków, jakie od Ciebie zależą. Przychodząc do firmy, jako młodszy konsultant, realizujesz proste zadania zlecane przez team liderów, będąc pod stałą opieką innych wdrożeniowców. Stopniowo się usamodzielniasz, by później, jako starszy konsultant ds. wdrożeń projektować rozwiązania, liderować zespołowi i finalnie stać się filarem, od którego mocno zależy powodzenie projektu. Oczywiście nic nie stoi na przeszkodzie, by zaczynając jak ja, od testów, po pewnym czasie zmienić swoją rolę w zespole i stać się ekspertem w innej dziedzinie. Przykładowo dla osób zainteresowanych bardziej techniczną stroną wdrażanych aplikacji możliwa jest praca przy instalacjach systemu, czy też przy uprzednio wspomnianej migracji. Osoby chcące rozwijać się w dziedzinie analizy biznesowej czy testów, też znajdą u nas swoje miejsce. Niedawno w dziale wdrożeń powstał zespół testów automatycznych, który będzie odpowiedzialny stricte za automatyzację poszczególnych instalacji produktu. Stwarza to dla nas kolejną opcję na spróbowanie czegoś nowego i ewentualny rozwój w tym temacie. Obecnie w Telco bardzo duża część PMów i solution architektów zaczynała swoją karierę we wdrożeniach. Dzięki dużemu doświadczeniu zebranemu w projektach dziś bardzo dobrze odnajdują się w tej roli.
Na sam koniec chciałbym chwilę opowiedzieć o produktach, które wdrażamy. Jak już wiecie, na co dzień pracuję w branży telekomunikacyjnej, przy wdrożeniach systemu BSS. Ale właściwie co robią takie systemy?
BSS jest to skrót od business support system. Cytując za definicją: W telekomunikacji BSS jest przeznaczony do wsparcia dostawcy usług telekomunikacyjnych w zakresie zarządzania własnymi klientami oraz usługami, które są im dostarczane. Tłumacząc to na prosty język, to właśnie BSS przy wsparciu systemów do zarządzania infrastrukturą sieciową orkiestruje takimi operacjami jak: aktywacja nowego numeru, doładowanie konta, zmiany ofert, zmiana karty sim czy też przeliczanie ruchu oraz późniejsze jego fakturowanie. Dzięki wdrożeniu BSS, klient zyskuje narzędzie umożliwiające zoptymalizowanie procesów biznesowych zachodzących u niego w firmie. Jeżeli chodzi o stos technologiczny, jaki jest wykorzystywany przy tworzeniu tych systemów w Comarch, to jest on bardzo szeroki i zależny od tego, do czego wykorzystywany jest dany moduł. Tak więc posiadamy systemy pracujące w czasie rzeczywistym, które są napisane w Erlangu, po komponenty pisane w językach takich jak: Java, C++, Scala czy też stopniowo już eliminowany PL/SQL. Do komunikacji pomiędzy komponentami wykorzystywany jest RabbitMQ, a dane przechowywane są w bazach danych takich jak Oracle, Postgres czy Elasticsearch. Kandydaci, którzy będą chcieli dołączyć do naszych zespołów muszą spodziewać się pracy w wymagającym środowisku, ponieważ technologia telekomunikacyjna bardzo mocno się rozwija. Rolą dostawcy oprogramowania jest nadążanie za tymi zmianami. Aktualnie na rynku telekomunikacyjnym obserwujemy wdrażanie technologii 5G, a oczekiwania operatorów są takie, by wdrażane systemy były z tą technologią kompatybilne. Na pewno jednak osoby, które trafią do naszego sektora nie będą narzekać na nudę. Będą miały okazję pracować przy złożonych, ale za to bardzo satysfakcjonujących projektach oraz będą miały unikalną szansę zapoznania się z funkcjonowaniem telekomów od podszewki. Tak więc na sam koniec nie pozostaje mi już nic innego, jak powiedzieć DO ZOBACZENIA!