Uczestnictwo w prestiżowych projektach, interesujące 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?
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, iż jest to ścieżka, którą chce podążać w swoim życiu zawodowym. jeżeli 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ł, iż 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 gwałtownie 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, iż 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, ale 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 w opracowanie odpowiedniego środowiska testowego. Wiele danych obsługiwanych przez aplikację napływało na bieżąco podczas rozgrywki, więc najważniejsze było dla nas, aby móc przetestować aplikację nie tylko w trakcie meczu, ale 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.