Wywiady

Jak wygląda praca iOS developera tworzącego aplikację dla jednego z topowych klubów piłkarskich? Wywiad z Robertem Ignasiakiem

iphone macbook ios

Uczestnictwo w prestiżowych projektach, ciekawe zadania na co dzień i możliwość zostania prelegentem na dużym wydarzeniu — żadne z tych wyróżnień nie mogłoby być osiągalne, gdyby nie stałe doskonalenie swoich umiejętności. O rozwoju kariery i istotności poszerzania swojej wiedzy jako iOS developer rozmawialiśmy z Robertem Ignasiakiem, który ma na swoim koncie już wiele projektów z zakresu e-commerce oraz tworzenia aplikacji.

Co skłoniło Cię do rozpoczęcia pracy jako iOS developer?

robert ignasiak profilowe

Mój wujek, który również jest programistą, zainspirował mnie do zainteresowania się programowaniem. Podarował mi książkę „Biblia Flash MX”, dzięki której stworzyłem swoją pierwszą aplikację, pomagającą mi przygotować się do egzaminu z geografii — konturówki. Podzieliłem się tą aplikacją z innymi uczniami, a ich pozytywne opinie utwierdziły mnie w przekonaniu, że jest to ścieżka, którą chce podążać w swoim życiu zawodowym. Jeśli mowa o ścieżce mobilnej, pasjonowała mnie ona już od dzieciństwa.

Kiedyś śledziłem każdy nowy telefon, aplikację i możliwości, które oferowały. Te przenośne urządzenia są jak przedłużenie umysłu, zawsze dostępne na wyciągnięcie ręki, które niejednokrotnie ratowały mnie w trudnych sytuacjach. Ostatecznym wyborem, jaki musiałem podjąć, było zdecydowanie się na konkretny ekosystem. Podczas studiów, w trakcie kursu programowania na Androida, napotkałem wiele problemów. Tworzenie aplikacji iOS przebiegało znacznie łatwiej. Czas pokazał, że również bardziej skomplikowane zadania na tej platformie mogą sprawiać trudności, jednak już związałem się z tą technologią i nie żałuję.

W jaki sposób znalazłeś się w zespole intive? Nad czym aktualnie pracujesz?

Na jednej z grup na Facebooku powiązanych z iOS natknąłem się na ogłoszenie o projekcie „intive iOS School”. Ofert dla początkujących programistów mobilnych było znacznie mniej niż np. dla webowych, więc szybko zgłosiłem swoje zainteresowanie. W ramach tego programu wspólnie z trójką innych developerów, pod okiem doświadczonego programisty, pracowaliśmy nad projektem wewnętrznym.

Ten okres wspominam bardzo pozytywnie, ponieważ pokazał mi, że można wiele się nauczyć nie tylko od doświadczonych programistów, ale również od osób, które dopiero rozpoczynają swoją przygodę z programowaniem. Aktualnie pracuję w projekcie e-commerce dla niemieckiej sieci marketów budowlanych. To kolejna moja aplikacja w tej domenie. W ostatnich latach widać rosnące zainteresowanie zarówno firm, jak i użytkowników w dokonywaniu zakupów za pośrednictwem aplikacji mobilnych.

Miałeś okazję pracować przy tworzeniu aplikacji dla jednego z topowych klubów piłkarskich. Czy możesz opowiedzieć coś na temat samego procesu, różnic wynikających z pracy nad tak prestiżowym projektem oraz własnych odczuć, kiedy to tysiące osób z całego świata korzystały z czegoś, co pomagałeś stworzyć?

Praca nad aplikacją na taką skalę przynosi wiele wyzwań, ale także ogromne zadowolenie. Podobnie jak artyści, programiści pragną, aby ich twórczość była doceniana przez jak najszersze grono odbiorców. Im więcej osób korzysta z ich pracy, tym większa satysfakcja. Z drugiej strony, praca nad takim projektem niesie ze sobą ogromną odpowiedzialność. Ze względu na liczbę użytkowników, zróżnicowanie urządzeń oraz wersji systemów, niezbędne jest skupienie się na jakości produktu. W przypadku mniejszej liczby użytkowników, pewne błędy mogą pozostać niewykryte, lecz w naszej sytuacji mało prawdopodobne jest, aby nasz błąd pozostał niezauważony.

Przed wdrożeniem aplikacji konieczne jest przeprowadzenie szerokiej gamy testów, a po wdrożeniu, musimy stale monitorować działanie aplikacji, zbierać opinie użytkowników oraz wprowadzać ulepszenia w kolejnych aktualizacjach. Spędziliśmy również znaczną ilość czasu na opracowanie odpowiedniego środowiska testowego. Wiele danych obsługiwanych przez aplikację napływało na bieżąco podczas rozgrywki, więc kluczowe było dla nas, aby móc przetestować aplikację nie tylko w trakcie meczu, lecz także w momencie dogodnym dla nas. Ze względu na renomę klubu oraz dużą ilość użytkowników, konieczne było wdrożenie mechanizmów bezpieczeństwa, aby chronić dane użytkowników oraz zapewnić im bezpieczne korzystanie z aplikacji.

W swojej karierze przerobiłeś już sporo technologii. Z którymi pracę wspominasz najlepiej? Czy pojawiły się takie, które sprawiły Ci problemy?

Jednym z ciekawszych przypadków w mojej karierze było moje doświadczenie z technologią Flash. Niestety, została ona całkowicie wyłączona. Podobnie było z frameworkiem, który został użyty w moim pierwszym projekcie gry – Cocos2d. Świat IT jest bardzo dynamiczny, dlatego uważam, że najważniejszą umiejętnością dla deweloperów jest elastyczność.

Podstawy informatyczne są bardzo podobne we wszystkich rozwiązaniach, doświadczony deweloper może szybko przyswoić nową technologię. Tak było w przypadku Fluttera, w którym udało mi się stworzyć w parę miesięcy gotowy projekt. Zdarzało mi się czuć wtedy, że mimo wielu lat doświadczenia, zaczynam swoją przygodę na nowo. Choć nie jest to przyjemne uczucie, uważam, że jest to specyfika naszej pracy. IT rozwija się bardzo szybko i często musimy przystosowywać się do zmian w technologiach, trendach i wymaganiach rynku.

Często słyszę, że najlepszą praktyką jest stosowanie rozwiązań natywnych. Jednakże, moje zdanie jest inne – uważam, że wybór technologii zależy od specyfiki projektu. W naszej firmie długo funkcjonowała prosta aplikacja do zamawiania pizzy na wspólny obiad w ostatni dzień miesiąca. Była ona wykonana w bardzo prostej technologii, ale sprawdzała się doskonale. Kluczem jest dokładna analiza wymagań projektu, a dla długoterminowych projektów polecam stosowanie sprawdzonych rozwiązań natywnych.

Co powinien robić iOS Developer, aby osiągnąć sukces w swojej branży?

Aby odnieść sukces w branży jako iOS Developer, istotne jest nieustanne doskonalenie swoich umiejętności. Ciągły rozwój nie oznacza jedynie zdobywania nowych umiejętności, ale również pogłębianie dotychczasowych, a także praktykowanie i doskonalenie umiejętności miękkich, takich jak komunikacja, zarządzanie czasem, kreatywność czy rozwiązywanie problemów. 

Warto poznać i stosować zasady Human Interface Guidelines (HIG) opracowane przez Apple. Przestrzeganie HIG jest istotne z kilku powodów. Po pierwsze, korzystanie z tych wytycznych ułatwia tworzenie aplikacji, które są intuicyjne i łatwe w obsłudze. Nieprzestrzeganie ich może skutkować odrzuceniem aplikacji podczas procesu weryfikacji, przed umieszczeniem jej w sklepie AppStore. Jest to duża różnica w porównaniu np. z aplikacjami internetowymi, gdzie aktualizacje mogą być stosunkowo łatwe i szybkie, ponieważ użytkownicy mają dostęp do aplikacji poprzez przeglądarkę internetową, co oznacza, że wystarczy zaktualizować kod na serwerze. 

Czy masz swoje metody na nadążanie za stale rozwijającą się technologią?

Dokumentacja i prezentacje na Apple Worldwide Developers Conference (WWDC) to pierwsze i jedno z najważniejszych źródeł informacji dla iOS Developerów. WWDC to coroczne wydarzenie organizowane przez Apple, podczas którego deweloperzy mogą poznać najnowsze narzędzia, technologie i trendy związane z tworzeniem aplikacji na urządzenia z systemem iOS. Podczas WWDC, Apple przedstawia nowości w systemie operacyjnym iOS, a także w narzędziach deweloperskich. Prezentacje od ekspertów z Apple dają wgląd w najnowsze trendy i najlepsze praktyki w tworzeniu aplikacji dla urządzeń z systemem, a także przedstawiają przyszłościowe kierunki rozwoju tej branży.

Kolejnym moim zdaniem, jednym z najefektywniejszych sposobów na pogłębianie swojej wiedzy jest interakcja z innymi ludźmi. Już podczas studiów zauważyłem, że wiele wartościowych informacji i praktycznych umiejętności zdobyłem dzięki moim kolegom, którzy chętnie dzielili się swoją wiedzą i doświadczeniem. Kontakt z innymi deweloperami może być źródłem inspiracji, a także umożliwić zdobycie nowych perspektyw i spojrzeń na dane zagadnienie.

Ponadto zdolność do skutecznej komunikacji i współpracy z innymi ludźmi jest kluczowa w branży technologicznej, a interakcja z innymi może pomóc w rozwinięciu tych umiejętności. Polecam również uczestnictwo w programistycznych spotkaniach, takich jak meetupy czy konferencje, które są świetnym sposobem na pogłębianie wiedzy i dzielenie się doświadczeniami z innymi deweloperami. Często możemy usłyszeć prezentacje i wystąpienia od liderów branży, którzy dzielą się swoim wieloletnim doświadczeniem w formie skondensowanego i zwięzłego wystąpienia. Ponadto umożliwiają nawiązanie kontaktów z innymi deweloperami, którzy podzielają nasze zainteresowania i pasję do programowania.  

W przeszłości miałem przyjemność brać udział w jednym z takich wydarzeń jako prelegent. Zachęcam każdego do wypróbowania się w takiej roli — mimo iż wystąpienia publiczne mogą być stresujące, dzielenie się własnymi doświadczeniami oraz pasjami pozwala przezwyciężyć niepokój.

Jakie są Twoje ulubione i najmniej ulubione aspekty pracy z iOS, a także co uważasz za najbardziej wymagające? 

Zamkniętość platformy iOS na pewno stanowi duży minus, szczególnie dla nowych osób, które chcą rozpocząć swoją przygodę z tworzeniem aplikacji. Jednakże, w ostatnim czasie można zauważyć pewne zmiany w tym kierunku. Swift jest już dostępny na różne systemy operacyjne, a główna biblioteka Foundation planowana jest do udostępnienia na zasadach Open Source. Mimo to, wciąż istnieją pewne ograniczenia w środowisku programistycznym iOS, takie jak brak możliwości instalacji dodatkowych pluginów do Xcode. Inne edytory, pokazują, że rozszerzenia tworzone przez użytkowników pozwalają na znaczne zwiększenie wygody programowania. 

Ważnym plusem dla mnie jako dewelopera jest dbałość Apple o bezpieczeństwo danych. Nasze urządzenia przechowują wiele wrażliwych informacji, a priorytet Apple to właśnie zapewnienie bezpieczeństwa ich przechowywania i przetwarzania. Dodatkowo, dużym plusem dla iOS Developerów jest mniejsza ilość urządzeń, na których trzeba przetestować aplikację w porównaniu do platformy Android. W przypadku iOS, ograniczona liczba urządzeń, na których działa system operacyjny, pozwala deweloperom na dokładne przetestowanie aplikacji na każdym z nich. W przypadku Androida, ze względu na różnorodność urządzeń i wersji systemu operacyjnego, konieczne jest przetestowanie aplikacji na wielu różnych konfiguracjach sprzętowych i oprogramowania, co może być czasochłonne i wymagające.

Jakie są Twoje pomysły na przyszłość w branży iOS, i jakie trendy postrzegasz jako ważne dla przyszłych projektów?

W ekosystemie Apple od dłuższego czasu obserwujemy znaczący trend w tworzeniu aplikacji międzyplatformowych. Kiedyś termin ten odnosił się głównie do urządzeń mobilnych, ale teraz aplikacje mogą być uruchamiane także na inteligentnych zegarkach, laptopach czy nawet w samochodach.

Internet rzeczy (IoT) to kolejny istotny trend. Większość nowych urządzeń posiada dedykowaną aplikację mobilną. W przeszłości problemem były różnorodne standardy komunikacji, ale obecnie większość firm się porozumiała. Co więcej, coraz więcej użytkowników decyduje się na automatyzację urządzeń w swoim domu, dzięki czemu mogą one współpracować ze sobą, zwiększając wygodę i efektywność codziennego życia.

Jeśli chodzi o rozwój urządzeń mobilnych, od kilku lat mamy raczej do czynienia z ewolucją niż rewolucją. Należy jednak zwrócić uwagę na fakt, że większość urządzeń jest już na stałe podłączona do internetu, a wraz z wdrożeniem technologii 5G prędkość internetu mobilnego znacznie się zwiększa, co stwarza nowe możliwości dla twórców aplikacji. 

Ostatnio Generatywne AI zdobywa dużą popularność, potrafiąc dostarczać szczegółowych informacji z różnych dziedzin na podstawie wcześniej przetworzonych danych. Przykładem są modele językowe, które potrafią generować teksty w sposób zbliżony do ludzkiego. Wykorzystanie tej technologii może sprawić, że aplikacje staną się jeszcze bardziej użyteczne, zwłaszcza biorąc pod uwagę fakt, że są to urządzenia zawsze dostępne pod ręką.


Robert Ignasiak. Programista iOS w intive, gdzie miał okazję pracować nad aplikacją, dla jednego z topowych klubów piłkarskich. Aplikacja zyskała popularność wśród użytkowników z całego świata. Pracował także przy wielu projektach e-commerce. Jego pasja do programowania rozpoczęła się ponad dekadę temu od tworzenia stron internetowych w technologii Macromedia Flash. Z biegiem czasu zaczął skupiać się na mobilnych rozwiązaniach, gromadząc wiedzę z zakresu różnorodnych technologii, począwszy od PhoneGap i Cocos2d, aż po tworzenie aplikacji natywnych przy użyciu Swift oraz rozwijanie multiplatformowych rozwiązań we Flutterze. Robert nieustannie dąży do doskonalenia swojego warsztatu, z priorytetem na poprawę doświadczeń programistycznych zespołu. Prywatnie jest entuzjastą rowerów elektrycznych. 

Zdjęcie główne pochodzi z unsplash.com

Redaktor współpracująca

Od trzech lat pracuje jako copywriterka, aktualnie zajmuje się tworzeniem treści dla branży IT oraz militarnej. Miłośniczka robienia szczegółowego researchu.

Podobne artykuły

[wpdevart_facebook_comment curent_url="https://geek.justjoin.it/jak-wyglada-praca-ios-developera/" order_type="social" width="100%" count_of_comments="8" ]