Praca w Allegro: doświadczenie inżyniera oprogramowania
Krzysztof Cybulski dołączył właśnie do zespołu warszawskiego centrum inżynieryjnego Netflix jako inżynier oprogramowania. Ostatnie 4 lata spędził na podobnym stanowisku w Allegro.
Jaka jest atmosfera w tych dwóch firmach, jak wygląda rekrutacja i z jakimi wyzwaniami może spotykać się starszy inżynier największej firmy e-commerce w Polsce — o tym w poniższym wywiadzie.
Czy pamiętasz swoją rozmowę kwalifikacyjną w Sellions.com? Jak ona przebiegała? I jakie wnioski po niej wyciągnąłeś?
Moja rozmowa w Sellions.com była dopiero drugą rozmową rekrutacyjną w moim życiu. Cały proces rekrutacyjny rozpoczął się od zadania domowego, co jest dość powszechne w branży IT. Celem tego zadania jest wyselekcjonowanie odpowiednich kandydatów. Przyznam, że moje podejście do tego zadania było zbyt skomplikowane — starałem się wykorzystać narzędzia, z którymi nie byłem jeszcze w pełni zaznajomiony, aby wykazać się szeroką wiedzą. Dziś już bym tak nie postąpił. Po wykonaniu zadania, zostałem zaproszony na rozmowę bezpośrednią. Ku mojemu zaskoczeniu, spotkanie nie miało charakteru technicznego — skupiliśmy się raczej na moim doświadczeniu i oczekiwaniach finansowych. Z perspektywy czasu, uważam, że trafiłem na rynek pracy w odpowiednim momencie. Dziś trudniej jest znaleźć pracę.
Czy Twoje podejście do procesu rekrutacji zmieniło się na przestrzeni ostatnich 5 lat? Jakich rad mógłbyś teraz udzielić juniorom?
Moje postrzeganie procesu rekrutacji ewoluowało znacząco w ciągu ostatnich pięciu lat. Obecnie uważam, że umiejętności techniczne to tylko część równania. Wiele osób, które są nowe w branży IT, ma tendencję do niedoceniania znaczenia umiejętności miękkich. Z moich obserwacji wynika, że rekruterzy często preferują kandydatów, którzy mogą nie posiadać najwyższego poziomu umiejętności technicznych, ale są zdolni do szybkiego uczenia się i adaptacji, a także są osobami komunikatywnymi i dobrze wpasowują się w zespół. Ważne jest, aby podczas rozmowy kwalifikacyjnej być w stanie przytoczyć konkretne przykłady z poprzedniego doświadczenia, w których wykazało się inicjatywą lub odpowiedzialnością.
Jak wyglądał proces rekrutacji w Allegro? Opisz, proszę wszystkie etapy.
Proces rekrutacji do Allegro, w którym brałem udział około 4 lata temu, składał się z trzech głównych etapów. Pierwszym krokiem było zadanie domowe. Po jego wykonaniu odbył się call-review z inżynierem z Allegro. To doświadczenie było dla mnie wyjątkowe, ponieważ miało charakter interaktywnej współpracy: inżynier przedstawiał swoje uwagi, na które ja mogłem reagować, wprowadzając odpowiednie poprawki do kodu. Już po tym etapie poczułem, że wiele się nauczyłem.
Następnie przeszliśmy do dwóch rozmów technicznych. Pierwsza miała formę warsztatu i koncentrowała się na dobrych praktykach programistycznych, szczególnie w kontekście Javy i ruchu sieciowego. Druga rozmowa była skoncentrowana na architekturze i algorytmach, gdzie oczekiwano ode mnie zaproponowania rozwiązania dla bardziej skomplikowanego systemu, bazując na określonych wymaganiach.
W tym segmencie procesu rekrutacyjnego, rekruterzy kładli nacisk na proces myślenia i umiejętność rozwiązywania problemów, mniej zaś na szczegółową znajomość technologii. Ostatnim etapem był segment miękki, podczas którego oceniano moje umiejętności interpersonalne i to, czy jestem osobą, z którą łatwo i przyjemnie się współpracuje.
Ile czasu zajął ten proces?
U mnie to zajęło około miesiąca, ale nie wiem, jak jest u innych, bo ja też wtedy byłem trochę na wakacjach.
Pracowałeś w Allegro przez 4 lata. Przeszedłeś ścieżkę od młodszego do starszego inżyniera. Czy 4 lata to wystarczający czas na zdobycie wszystkich umiejętności i wiedzy wymaganej na stanowisku Seniora?
To zależy od wielu czynników i jest to kwestia bardzo indywidualna. Praca w Allegro była dla mnie niezwykle stymulująca pod względem rozwoju zawodowego. Kluczową rolę odegrali tutaj ludzie, z którymi miałem przyjemność współpracować. Istnieje powiedzenie, że warto być "najgłupszą osobą w pokoju", ponieważ to motywuje do ciągłego podnoszenia swoich kompetencji. Tak właśnie czułem się, kiedy dołączyłem do zespołu Allegro.
Dodatkowo, ważnym aspektem było to, że pracownicy mieli dużą wolność i odpowiedzialność. Nie było sytuacji, w których byłem ograniczany tylko do wyznaczonych zadań, co również sprzyjało mojemu rozwojowi. Dzięki temu środowisku i warunkom pracy, cztery lata okazały się wystarczającym czasem, aby zebrać doświadczenie i umiejętności potrzebne na stanowisku starszego inżyniera.
Czy Allegro oferowało kursy rozwojowe dla programistów?
Tak, Allegro posiadało rozbudowaną kulturę wymiany wiedzy i oferowało różnorodne kursy rozwojowe dla swoich programistów. Firma dysponowała wewnętrzną platformą, na której pracownicy mogli oferować szkolenia i dzielić się swoją wiedzą. Korzystałem z tej platformy intensywnie, co przyniosło mi znaczące korzyści.
W ofercie szkoleniowej znajdowały się kursy dotyczące zarówno umiejętności technicznych, jak i tych miękkich. Przykłady obejmowały szkolenia z efektywnego udzielania feedbacku oraz budowania logicznych i przekonujących wypowiedzi. Ponadto, firma wspierała rozwój swoich pracowników poprzez dofinansowanie udziału w zewnętrznych kursach i konferencjach, co dodatkowo ułatwiało zdobywanie nowych umiejętności i poszerzanie wiedzy.
Jak wyglądał Twój dzień pracy w Allegro na stanowisku Seniora? Jakie były Twoje obowiązki?
Mój typowy dzień pracy na stanowisku Seniora w Allegro, szczególnie od czasu Covidu, częściowo odbywał się w formie pracy zdalnej, z późniejszym powrotem do biura. Dzień zaczynałem od synchronizacji i aktualizacji w zakresie tego, co działo się od poprzedniego dnia. Przeglądałem Slacka, Jirę i maila, aby być na bieżąco z wszelkimi zmianami i wymaganiami.
W mojej roli Seniora miałem mniej obowiązków związanych bezpośrednio z programowaniem, w przeciwieństwie do czasów, kiedy pracowałem jako Junior. Moje zadania skupiały się bardziej na koordynacji zespołu, komunikacji z interesariuszami, ustalaniu wymagań oraz wsparciu innych osób w tworzeniu i realizacji projektów. Pracowałem z wykorzystaniem metodologii Scrum, co oznaczało regularne przeglądy postępów i dostosowywanie planów.
Część mojego dnia zajmowały również spotkania, podczas których dyskutowaliśmy różne kwestie techniczne i szukaliśmy optymalnych rozwiązań dla bieżących wyzwań. Ogólnie, moja praca na tym stanowisku była bardziej zorientowana na zarządzanie projektami, komunikację i rozwiązywanie problemów, niż na samodzielne programowanie.
Jakie są najciekawsze wyzwania, przed którymi stanąłeś w pracy?
Jako największy serwis e-commerce w Polsce, Allegro obsługuje ogromną ilość użytkowników, co samo w sobie stanowi wyzwanie nieporównywalne z większością innych firm w kraju.
Przykładem konkretnego zadania, które podkreślało tę skalę, było opracowanie rozwiązania do zapisywania informacji o tym, kto zobaczył daną ofertę na stronie. Z powodu ogromnej liczby użytkowników, system musiał radzić sobie z tysiącami zapytań na sekundę. Aby sprostać temu wyzwaniu, musieliśmy równomiernie rozdzielać ruch na wiele instancji jednocześnie, umożliwiając obsługę tysięcy zapisów w krótkim czasie. To wyzwanie nie tylko podkreśliło skalę działania Allegro, ale również wymagało zastosowania zaawansowanych technik zarządzania danymi i optymalizacji systemów.
Ile osób pracowało w Twoim zespole?
W moim zespole w Allegro liczba osób wahała się między trzema a siedmioma. Ta liczba zmieniała się dość dynamicznie, głównie ze względu na inicjatywę "turystyki międzyzespołowej". Ta inicjatywa polegała na tym, że pracownicy mieli możliwość, na okres około trzech miesięcy, zmienić zespół, w którym pracują. Była to fantastyczna inicjatywa, którą zdecydowanie polecam innym firmom. Dzięki niej sprzyjaliśmy wymianie wiedzy między zespołami, a także pomagaliśmy w zapobieganiu wypaleniu zawodowemu pracowników.
Jak ci się podoba aktualna praca w Netflix? Dlaczego zdecydowałeś na zmianę firmy?
Na Netflix patrzyłem już od dłuższego czasu jako na firmę, w której chcę pracować. Netflix ma silne zaplecze technologiczne i ma bardzo dużą skalę, ponad 247 milionów użytkowników na świecie.
To, co jest dla mnie szczególnie ciekawe to kultura firmy, która jest unikatowa. To okazało się po przeczytaniu książki „No rules rules” jednego z założycieli firmy Reeda Hastingsa. Polecam każdemu, żeby zobaczyć, jak można zbudować dużą firmę, w której na pierwszym miejscu stawia się ludzi, a nie procesy czy sztywne reguły. Ten sposób tworzenia firmy mi bardzo odpowiada.
Wcześniej Netflix rozwijał dział inżynieryjny tylko w Stanach Zjednoczonych. Od tego roku zaczęło działać centrum inżynieryjne w Warszawie. Skorzystałem z tej możliwości.
Pracujesz zdalnie?
Pracuję hybrydowo. Praca w biurze jest istotna, zwłaszcza kiedy dopiero zaczynasz pracę, kiedy zespół się poznaje. Taki kontakt face to face jest bardzo istotny.
Czy teraz Twoje obowiązki różnią się od poprzedniej pracy?
Za krótko pracuję, żeby móc to w pełni porównywać. Netflix ze względu na swoją kulturę jeszcze mocniej kładzie odpowiedzialność jako element pracy inżynierów. Tutaj inżynier jest osobą, która jest odpowiedzialna za holistyczne rozwiązanie problemu, a nie tylko tę część stricte techniczną.
Gdzie szukasz wiedzy, jeśli czegoś nie wiesz?
Korzystam z różnym newsletterów: The Pragmatic Engineer, ByteByteGo czy Architecture Weekly od Oskara Dudycza. Świetną opcją są też agregatory, które zawierają najciekawsze publikacje w jednym miejscu, np. jvm-bloggers.com.