W CERN został konsultantem, architektem i developerem. Historia Mikołaja Kocota
Mikołaj Kocot to ciekawy przypadek programisty, który dostał za zadanie stworzenie od zera ogromnej aplikacji zbierającej i analizującej dane z kont bankowych i agencji ratingowych. Fundusz CERNu zarządzał aktywami o wartości ponad 4 miliardów dolarów, a jego platforma miała mieć dostęp do poufnych danych. Jak się pewnie domyślacie, zadanie nie należało do łatwych.
Po trzecim roku studiów większość Twoich znajomych znajdowało praktyki w korporacjach: Comarch i Sabre. Ty wybrałeś inną drogę, dlaczego?
Oryginalny powód był bardzo prozaiczny – duże firmy nie dawały urlopu…, a mnie roznosi, gdy siedzę za długo za biurkiem. W dalszej perspektywie okazało się, że takich niekompatybilności między mną, a korporacjami jest znacznie więcej.
Co jeszcze nie pasowało Tobie w pracy w korporacji?
W dużych firmach przestaje się być jednostką, a staje się jedną z wielu pozycji na liście kosztów. Biurokracja wyznacza precyzyjnie granice tego co (według kogoś w HR) może być Ci potrzebne i co możesz robić. Jeżeli chciałbyś klawiaturę z innym layoutem lub urlop z dnia na dzień, może okazać się, że nie ma tego jak wklepać w system.
Nie jestem też fanem generycznych open-space’ów. Jest tam dużo ludzi, co rozprasza, a gdy chce się pogadać i tak trzeba iść do kuchni… Poza tym lubię ‘spersonalizować’ swoje biurko, czy pokój i zjeść z kolegami pizze siedząc na stole. Nie można jednak generalizować, wszystko zależy od firmy, a często i od zespołu.
Dzisiaj powtórzyłbyś wybór pracy w małej firmie? Dlaczego?
Wybór stosunkowo niewielkiej i młodej firmy był strzałem w dziesiątkę. Natychmiast trafiłem w wir projektów o różnych stadiach rozwoju. Pomimo małego doświadczenia już od pierwszych dni mogłem coś od siebie dorzucić. Pracowało się w najnowszych technologiach i w lekkiej metodologii, kolejne moduły rosły w oczach. Mniej czasu spędzało się na dokumentacji i testach, więcej na tworzeniu i rozwiązywaniu realnych problemów.
Całość uzupełniał bardzo młody i niezwykle zmotywowany zespół, który świetnie się mną zajął. Łatwo było zapomnieć, że jest się w pracy, gdyż w biurze panowała luźniejsza atmosfera, niż na uczelni. W małej firmie szybciej też krążą informacje, co pozwala świeżakowi zrozumieć jak biznes działa od podszewki.
W omawianej firmie zaczęło się coś psuć. Jedną z przyczyn było budowanie “ścieżek kariery”. To zły pomysł? Wszyscy teraz mówią o ścieżkach kariery.
Moja firma połączyła się z dwoma innymi. Razem wydali ogromne pieniądze na audyt ISO, który wprowadził mnóstwo biurokracji, jak również absurdów. Na przykład inwentarz sprzętu został przeniesiony z Excela do ręcznie prowadzonego zeszytu, gdyż według audytorów papier był trwalszy niż twarde dyski.
Ściągnięty został również manager z krakowskiej korporacji. Ten uparł się na zmianę struktury firmy i opracował tzw. ścieżki kariery. Nowe wytyczne bazowały jednak nie na doświadczeniu i wiedzy, a na certyfikatach, których zdobywanie trwało tygodnie i zależało od funduszy. Według tych regulacji prawie wszyscy programiści zostaliby zdegradowani, jednak zasady dotyczyły tylko nowych awansów… Zmiany te były zresztą w konflikcie z moją wcześniejsza umową, ale to już nikogo nie interesowało. Wtedy nauczyłem się, że każdą obietnice trzeba mieć na papierze.
Co było później? Gdzie szukałeś pracy?
Ludzie zaczęli odchodzić z firmy, rosło niezadowolenie z zarządzania. Straciłem motywację do pracy dla ludzi, którzy mnie zwodzili i nie dotrzymywali słowa. Dzięki znajomym trafiłem na ofertę CERNu – Europejskiej Organizacji Badań Jądrowych w Szwajcarii. Większość studentów jeździło tam na bezpłatne wakacyjne praktyki, podobne do Erasmusa. Z ciekawości zaaplikowałem na roczny program Technical Student.
Jakie warunki zaproponował Tobie CERN? Jakie miałeś objąć stanowisko i dlaczego wydawało się ciekawe?
Rekrutacja do CERN jest bardzo bezosobowa. Formularze, referencje, skany świadectw. Łatwo poczuć się jak pionek w tłumie, bez szans na selekcje. Tym dziwniejszy był telefon jaki otrzymałem niedługo później, gdzieś na wsi, na Ukrainie. Kontaktował się ze mną manager ds. zarządzania ryzykiem CERNowego funduszu emerytalnego. Zapytał, czy potrafiłbym napisać aplikację, która zbiera i analizuje dane z kont bankowych i agencji ratingowych.
Nie miał żadnych wytycznych, analiz, czy wiedzy technicznej. Zaproponował mi wolną rękę na wybór technologii, architekturę i pełen dostęp do infrastruktury CERN. Niedługo później pakowałem do samochodu ekwipunek niezbędny do życia w Szwajcarii – narty, paralotnie i sprzęt wspinaczkowy. Miałem mieszkać w Alpach, marzenie, ale to przyszły projekt ekscytował mnie najbardziej.
Jak przebiegał proces przeprowadzki? Łatwo było znaleźć mieszkanie?
Pierwsze zderzenie z genewską rzeczywistością było frustrujące. Wieczny deficyt mieszkań i ogromna rotacja wśród pracowników organizacji międzynarodowych czyni znalezienie mieszkania niezwykle żmudnym procesem. Ogłoszenia przestają być aktualne po kilku minutach, a właściciele często prowadzą ranking chętnych. Ceny naturalnie odpowiadają temu stanowi – miesięczny wynajem mieszkania w centrum znacznie przewyższał moją polską pensję, a zapłacić trzeba było za 3 z góry. Ogromnie pomogli mi znajomi z AGH, dzięki czemu zająłem pokój w domu Chińczyków, po francuskiej stronie granicy, razem z dwoma Litwinami. Zarówno oni, jak i większość okolicy pracowała w CERN. Francuski słyszało się rzadko.
Czym zająłeś się w pierwszych dniach pracy w CERN?
W ciągu pierwszych dni, czy raczej tygodni wcieliłem się w rolę konsultanta. Czas schodził głównie na spotkaniach i poznawaniu domeny finansowej. Przeglądałem istniejące narzędzia, testowałem biblioteki. Jednocześnie organizowałem lokalną infrastrukturę pod przyszły projekt.
Moi szefowie, choć niezwykle pogodni i pomocni mieli bardzo rozmytą wizję tego, co potrzebują i absolutnie zero pojęcia na temat złożoności projektu. Inaczej, nigdy nie powierzyłby go studentowi…
Fundusz CERNu zarządzał aktywami o wartości ponad 4 miliardów dolarów, a moja platforma miała mieć dostęp do poufnych danych. Bezpieczeństwo i błędy numeryczne wisiały nade mną jak widmo.
CERN dał Tobie wolną rękę jeśli chodzi o technologię. Z dzisiejszej perspektywy, Twoim zdaniem był to dobry ruch?
Gdybym został zmuszony do stosowania technologii, których nie znam, na pewno jakość i tempo projektu by spadła. Jednocześnie tego typu decyzje powinny być weryfikowane przez osoby o większym doświadczeniu. Również dlatego, że taki projekt później musi być utrzymywany przez kolejne osoby. Najlepiej budować zespół pod konkretny projekt i wcześniej ustalone technologie, mój wydział jednak nie miał na to środków.
Jak radziłeś sobie z taką odpowiedzialnością? Co zmieniło to w twojej codziennej pracy?
Otrzymanie tak ogromnej odpowiedzialności wymusiło na mnie zorganizowanie się i ustrukturyzowanie pracy. Teraz nie tylko wykonywałem zadania, ale też je tworzyłem. Każdą decyzję starałem się przeanalizować i udokumentować.
Wykorzystywałem 100% swojej wiedzy i doświadczenia, jednocześnie nadal doszkalając się, szczególnie w domenie bezpieczeństwa. Czułem się kompetentny i byłem szanowany przez zespół, ale jednocześnie bałem się potraktowania jako ‘student’ przez partnerów. To motywowało mnie do jeszcze większej skrupulatności, a ponieważ działało, dodawało wiele pewności siebie.
Pamiętam, gdy na spotkaniu w Zurichu bank zaoferował nam dostęp do danych przez skrypt wpisujący login i hasło na ich webowym UI. Nie mając nawet garnituru, musiałem przed całą salą managerów wytłumaczyć dlaczego inni klienci się na to godzą, a ja nie zamierzam.
Jak długo uczestniczyłeś później w tym projekcie?
W CERN planowałem zostać 10 miesięcy. Jednak wizja wyjazdu ze Szwajcarii wcale mi się nie uśmiechała, a projekt daleki był od skończenia. Przedłużyłem program do maksymalnych 14 miesięcy. Dostałem również ofertę pracy na stałe, jednak uparłem się, że skończę studia i na przekór wszystkim wrócę do Polski. Przed odejściem przekazałem projekt kolejnej osobie. Tym razem to ja prowadziłem rekrutacje. Z kilkuset kandydatów wybrałem jedyną osobę o jakimkolwiek pojęciu i znajomości angielskiego. Był Polakiem, z mojej uczelni…
Sam projekt niedługo później upadł. Okazało się, iż wymaganą funkcjonalnością mają już inne wykupione przez fundusz narzędzia. Mógłbym się wściekać, jednak zarówno mnie, jak i reszcie zespołu, ten okres otworzył oczy. Nie żałuję ani godziny tam spędzonej.
Co dało Tobie największy boost umiejętności? Może jakiś konkretny projekt, zadanie?
Programista rzadko ma okazję stworzyć poważny projekt od zera. W CERN zostałem jednocześnie konsultantem, architektem, developerem i ekspertem ds bezpieczeństwa.
Technicznie na pewno więcej nauczyłem się pracując nad większymi projektami w dojrzałym zespole, ale odpowiedzialność i reprezentowanie CERNu przed bankami zdefiniowało na długo moją osobowość i kulturę pracy. Jestem niezmiernie wdzięczny mojemu szefowi za obdarzenie mnie tak wielkim zaufaniem.
Również bezpośrednia praca z traderami pozwoliła na lepsze zrozumienie branży finansowej.
Staż w CERN dobiegł końca. Dlaczego wróciłeś do Polski?
Koledzy zakładali się ze mną, że nie wrócę, a ja nie lubię przegrywać zakładów. Poza tym na emigracji człowiek idealizuje swój kraj, wszystko na miejscu wydaje się gorzej zorganizowane i problematyczne. Czułem, że to jeszcze nie jest czas na opuszczenie ojczyzny. Nauczyłem się też, że na zachodzie nadal liczą się literki przed nazwiskiem, mi brakowało mgr.
W dość młodym wieku nabrałeś sporo doświadczenia. Rekruterzy pewnie bili się o Ciebie, większość ofert odrzucałeś. Dlaczego?
Kraków był i jest ważnym ośrodkiem projektów IT. W dodatku o obsadzenie każdej pozycji bije się kilka firm outsourcingowych. Czasami przychodziło i po kilka ofert dziennie, czasami ktoś chciał mnie zatrudnić na moje własne stanowisko. Szybko nauczyłem się rozpoznawać te ciekawsze i odrzucać te generyczne. Po CERN szukałem nowych wyzwań, a nie utrzymywania cudzego, starego kodu. Przypadkiem trafiłem do SII, gdzie znowu spotkałem świetnych ludzi. Przemieszczałem się miedzy projektami i biurami. Częste zmiany zespołów i domen pozwoliły mi na bardzo szybki rozwój i utrzymanie motywacji.
Dlaczego zacząłeś ponownie szukać pracy w Genewie?
W ciągu niecałych dwóch lat pracowałem w banku, refaktoryzowałem aplikacje do sprzedaży transformatorów, zarządzałem zespołem do automatycznych testów i wdrażałem system kontroli jakości w hucie metalu. Maszerując w kasku z laptopem, wśród oparów kwasu siarkowego, i pod wielotonowymi walcami stali nie wyobrażałem sobie robić nic lepszego. W Genewie zostawiłem jednak moją obecną żonę i moja ówczesna firma była przegraną w tej walce.
Na jakie elementy oferty pracy zwracałeś uwagę?
Poszukiwania pracy w Genewie były mozolne. Większość firm dawno wyprowadziło IT ze Szwajcarii przez wysokie koszty, a dla innych barierą była nieznajomość francuskiego. Pomimo bogatego CV nie mogłem znaleźć nawet punktu zaczepienia. LinkedIn milczał a wiele ofert urywało się gdzieś na prehistorycznych systemach HR.
Ostatecznie przeszedłem trudną i wieloetapową rekrutację do małej firmy pod Genewą. Firma młoda i prężna, ale nie spełniała większości moich założeń. Jeden ogromny produkt, moc customowych narzędzi, brak testów, testerów, czy nawet grafika. Rzeczywistość pracownika w Szwajcarii poza organizacjami międzynarodowymi również okazała się mniej różowa. Mniej urlopu, niewielkie prawa, dłuższe godziny pracy. Nie tego szukałem, ale nie miałem wyboru. Zresztą potrzebowałem jedynie dobrego startu, wiedząc, że łatwiej jest szukać na miejscu. Ku swojemu zaskoczeniu, pracuje w tej firmie od 5 lat, do tej pory.
Co daje Tobie przekonanie, że rozwijasz się w tej firmie?
Pomimo, iż firma sprzedaje jeden, kolosalny produkt, złożoność domeny i zróżnicowanie klientów czyni pracę nad nim niezwykle urozmaiconą. Budując kolejne moduły często też eksperymentujemy z nowymi technologiami i podejściami, przez co można wręcz zapomnieć, że to nadal ten sam produkt.
Dodatkowo, każdy z deweloperów pracuje jednocześnie nad wszystkimi warstwami. Od bazy danych, przez serwisy, aż do UI. Jest to zarówno rozwijające, jak i dobry sposób na nudę.
Metodologia stawia również zdecydowanie większy nacisk na szybkość rozwoju, niż dokumentacje, czy testy… To z jednej strony mocno obciąża programistę, ale jednocześnie cieszy wypuszczanie nowych ficzerów i zadowoleni klienci. Od czasu, kiedy trafiłem do zespołu, dużo w firmie się zmieniło, my zmieniliśmy. Czasami warto dać szansę.
Jaką radę dałbyś początkującym?
Przede wszystkim radzę, by nie zamykać się w jednym środowisku, czy technologii. Przez pierwsze lata warto często zmieniać pracodawców i pozycje. Znaleźć swój styl. Poznać swoje słabe i mocne strony, i rozwijać obydwie. Zadawać dużo pytań i chłonąć wiedzę od starszych kolegów, a odpuścić sobie kursy i certyfikaty. Pracując ze specjalistami, warto podglądać jak pracują, nawet gdy to zupełnie inny zawód, czy domena. To pomaga znaleźć inspiracje i poszerza horyzonty. Może też zainspirować pomysł na biznes.
Warto przeglądać oferty pracy i być na bieżąco. Znać rynkowe stawki i warunki, negocjować. Warto się rekrutować. To dobre ćwiczenie i ważna nauka, a gdy pojawi się oferta marzeń, jest się przygotowanym.
Ostatecznie warto pomyśleć o celu swojej pracy. Korporacje są już dzięki nam wystarczająco wpływowe i bogate, a my mamy ten luksus, że sami wybieramy dla kogo pracujemy, a nawet najniższe stawki w tej branży są godne.
Mikołaj Kocot. Senior Software Engineer w PSiDEO. Szukając swojego miejsca w branży zwiedził biura zarówno wschodzących startupów, jak i finansowych korporacji. Pracował m.in w Europejskim Centrum Badań Jądrowych, w Banku, czy w Hucie Metalu. W wieku 26 lat postanowił zamieszkać bliżej Alp, znajdując pracę w Szwajcarii, co okazało się znacznie trudniejsze, niż się wydawało. Od 5 lat pracuje w małej prywatnej firmie w Genewie, z widokiem na góry i winnice.