inhire.ioBlogPraca w ITJakie wyzwania niesie za sobą rozwój aplikacji mobilnych w Empik GO?

Jakie wyzwania niesie za sobą rozwój aplikacji mobilnych w Empik GO?

Praca w IT
Praca w IT
21/06/2022

Aplikacja musi działać zarówno na urządzeniu z Androidem 5 sprzed sześciu lat jak i na najnowszym iPhonie – a to nie wszystkie aspekty, które należy mieć na względzie pracując z aplikacjami mobilnymi. O pracy z Empik GO, zespole technicznym, największych wyzwaniach oraz możliwościach rozwoju porozmawialiśmy z Jakubem Korobczycem, Senior Android Developerem i Team Leaderem oraz Jackiem Borzykowskim, Digital Content Technology Division Managerem.

Obaj pracujecie już od dłuższego czasu dla Empiku, dlaczego warto dołączyć właśnie do Was?

Jacek Borzykowski: Zajmujemy się unikalnym na naszym rynku, stale rozwijanym produktem dla setek tysięcy użytkowników. Dodatkowo mamy bardzo duży wpływ na aplikacje, którymi się zajmujemy i realną możliwość realizacji własnych pomysłów. Można powiedzieć, że u nas nie ma złych pomysłów, każdy może wnieść coś od siebie i liczyć na to, że jego sugestie zostaną zrealizowane. To doskonały sprawdzian dla własnej kreatywności, a dodatkowo stanowi bazę do rozwoju w zespole.

Wszyscy programiści pracują zdalnie, mamy elastyczne godziny pracy – to bardzo duża zaleta. Pozwala na dostosowanie realizacji obowiązków do naszego własnego rytmu.

Jakub Korobczyc: Nasz zespół składa się z ludzi z poczuciem humoru i na spotkaniach nigdy nie panuje tzw. grobowa cisza. Mimo wszystko, jednak każdy ma profesjonalne podejście do pracy, co jest świetnym połączeniem. Sprawia to, że atmosfera w naszym zespole jest luźna i przyjemna. Oczywiście praca jest też ambitna, bo spotykamy się z niecodziennymi problemami wymagającymi złożonych rozwiązań.

Czy trudno jest dbać i kontrolować swój zespół, jeśli pracuje on zdalnie?

JB: Zależy nam na tym, żeby zespół deweloperski (pomimo dzielących nas odległości) czuł się częścią większej całości. Mamy bieżącą komunikację o tym, co dzieje się w firmie, pozwala to na zrozumienie naszych wspólnych celów oraz pomaga uniknąć błędów i nieporozumień podczas realizacji zadań. Wszelkie ogłoszenia dotyczące spraw firmowych czy działań w naszych zespołach przekazujemy sobie prezentując na cotygodniowych wideokonferencjach. Czy jest potrzeba kontrolowania? Mamy do siebie zaufanie- zespół ma bardzo dużą autonomię oraz wpływ na rozwój aplikacji. Oczywiście nie jest tak, że sami wyznaczamy kierunek swojej pracy, realizujemy funkcjonalności zgodnie ze zdefiniowaną Roadmapą produktu, ale ostateczny sposób ich realizacji powstaje wewnątrz zespołu.

JK: Początkowo myśleliśmy, że praca zdalna będzie stanowiła problem, ale szybko okazało się, że wcale tak nie jest. W tym momencie większość naszego zespołu nie mieszka w Warszawie. Nie mamy problemu ze znalezieniem sali na wspólne rozmowy, a i tak widujemy się codziennie na spotkaniu “daily”. Narzędzia takie jak Jira i Trello pomagają nam organizować zadania i dbać o potrzeby zespołu.  Według mnie praca zdalna daje nie tylko możliwość większej elastyczności, ale także pozwala lepiej skupić się na obowiązkach. Oczywiście jeżeli ktoś woli pracę z biura, to także zapewniamy taką możliwość.

Jak organizujecie codzienną pracę Waszych zespołów?

JK: Pracujemy w metodyce SCRUM, która wyznacza nam sztywne zasady dotyczące organizacji pracy. Codziennie spotykamy się w celu krótkiego omówienia aktualnie wykonywanych zadań, ale zawsze znajdzie się też czas na luźniejsze rozmowy na tematy mniej lub bardziej związane z pracą.

Co dwa tygodnie odbywają się spotkania, na których tworzymy i szlifujemy zadania, a także prezentujemy wyniki naszej pracy. Jest to standardowe podejście w wielu firmach, ale należy dodać, że nie traktujemy SCRUM’a jak celu pracy, a tylko jako narzędzie. Nie każdemu podoba się nadmierna papierologia czy tzw. “SCRUM’owa policja”, na szczęście u nas tego problemu nie ma.

Przeczytaj także – Poznaj zaplecze pracy w Empik Foto

Nad jakimi projektami obecnie pracujecie? Zdradzicie jakich nowości możemy spodziewać się od EMPIK GO?

JK: Aplikacja ciągle się rozwija i w kolejce jest wiele różnych pomysłów na nowe funkcjonalności czy usprawnienia. Aktualnie pracujemy nad wdrożeniem zupełnie nowego systemu płatności w aplikacji, który pozwoli zakupić abonament w niecałą minutę.

Dużo uwagi poświęcamy też naszemu odtwarzaczowi, który jest w końcu centralnym elementem usługi Empik GO. Chcemy, aby nasza aplikacja była zgodna z obecnymi standardami na rynku, dlatego pracujemy nad funkcjonalnością kolejki odtwarzania oraz nad usprawnieniem odtwarzania audiobooków w samochodach.

JB: Oczywiście nie możemy zdradzić wszystkich naszych planów czy pomysłów – pamiętajmy, że konkurencja nie śpi. Wśród aktualnych prac, które mogę zdradzić jest również stały rozwój i doskonalenie mechanizmów rekomendacji treści oraz prace nad zmianami na ekranie głównym aplikacji, aby stał się lepiej dopasowany do preferencji użytkownika. Mamy również w zanadrzu kilka ciekawych niespodzianek, które mogą spodobać się naszym użytkownikom.

Z jakimi wyzwaniami zawodowymi musieliście się ostatnio zmierzyć?

JK: Rozwój aplikacji mobilnych to ciągła walka z mnogością różnych urządzeń oraz wersji systemów. Aplikacja musi działać zarówno na urządzeniu z Androidem 5 sprzed sześciu lat jak i na najnowszym iPhonie. Do tego dochodzą czytniki ebooków, takie jak Kindle. Ostatnim wyzwaniem było wdrożenie wersji, w której musiało pojawić się kilka globalnych zmian tworzonych równolegle. Wynikało to z terminów narzuconych przez sklep z aplikacjami oraz dużymi funkcjonalnościami, nad którymi pracowaliśmy od dłuższego czasu.

JB: Empik Go to oczywiście nie tylko aplikacje wykorzystywane przez naszych użytkowników. Jednym z większych i ciekawszych wyzwań technologicznych niewidocznych dla użytkownika końcowego, jest ciągła optymalizacja sposobu wykorzystywania zasobów chmury obliczeniowej. Efektywne wykorzystanie storage przy stale i szybko rosnącym katalogu ebook’ów, audiobook’ów oraz podcastów, czy też ilości przesyłanych danych przy rosnącej bazie użytkowników, jest co najmniej równie ważne, jak rozwój samych aplikacji mobilnych.

Jak wygląda u was rekrutacja na tak wyspecjalizowane stanowiska?

JK: Chcemy, aby proces rekrutacji był możliwie szybki i efektywny. Rekrutacja zaczyna się od krótkiej rozmowy z Hrem, następnie spotykamy się z kandydatem i rozmawiamy o jego doświadczeniu, przy okazji sprawdzając jego wiedzę techniczną. Ostatnim etapem jest wgląd do kodu napisanego przez kandydata – może być to istniejący już projekt, który kandydat nam udostępni lub proste zadanie domowe.

Aktualnie do swojego zespołu poszukujecie iOS Developera – jakie umiejętności miękkie, powinien mieć kandydat aplikujący na tym stanowisku?

JK: Zależy nam na tym, żeby kandydat przede wszystkim interesował się aplikacjami mobilnymi i rozumiał, jakie standardy UX  musi spełniać produkt. Osoby pracujące z nami nie powinny mieć problemu z wyrażaniem własnych opinii, bo to właśnie one są kluczowe przy rozwiązywaniu niektórych problemów. Idealny kandydat będzie chciał, aby aplikacja działała jak najlepiej, a więc samodzielnie będzie dbał o dobór jak najbardziej optymalnych rozwiązań. Poczucie humoru jest oczywiście dużym plusem! 😊

Jak wyglądają szanse na rozwój na tym stanowisku?

JK: Podczas planowania zadań na dwutygodniowy cykl staramy się nie tylko dobierać zadania typowo biznesowe, ale również czysto techniczne. Na przykład, zadanie pozwalające nam przetestować ciekawą bibliotekę lub framework, czy zadanie polegające na przyspieszeniu startu aplikacji nawet o ułamek sekundy.

Współpracujące z nami osoby ze strony biznesowej zdają sobie sprawę, że bez regularnego dbania o techniczną stronę aplikacji projekt będzie pogrążał się w coraz większym długu technologicznym.

Ostatecznie to może odbić się na działaniu samej aplikacji i zwiększy czas potrzebny na dodanie kolejnych funkcjonalności. Dzięki temu mamy możliwość dbania o to, żeby aplikacja posiadała najnowsze rozwiązania technologiczne, co sprawia, że my również regularnie poznajemy te technologie.

JB: Poza możliwościami wykorzystania nowych rozwiązań podczas pracy nad aplikacją, staramy się rozwijać kompetencje poprzez organizację szkoleń dla zespołu. Dodatkowo oprócz rozwoju w obszarze technologicznym praca z zespołem Empik Go pozwala na zdobycie unikalnej na polskim rynku wiedzy dotyczącej działania produktów subskrypcyjnych. 

Oczywiście powinniśmy też pamiętać, że Empik Go działa w ramach dużej organizacji jaką jest Grupa Empik, –dlatego, jeśli zaszłaby taka potrzeba, zawsze istnieje również możliwość zmiany zespołu lub produktu w ramach naszej organizacji.