– Statystyki pokazują, iż blisko 80% Polaków używa telefona. Podobnie jest na świecie. Według mojej oceny coraz więcej rzeczy będziemy robić przy pomocy telefonu. Już możemy obserwować dynamiczny rozwój na rynku IoT czy automotive – uważa Daniel Szantar, kierownik Zespołu Mobile w Aplikacjach Krytycznych. Rozmawiamy m.in. o przyszłości polskiej branży mobile.
Jesteś leaderem zespołu mobilnego w Aplikacjach Krytycznych, ale wcześniej pracowałeś tutaj jako frontend developer. Co sprawiło, iż „pociągnęło Cię” w stronę aplikacji?
Od dawna interesowałem się projektowaniem aplikacji mobilnych. W poprzedniej firmie podejmowałem już próby stworzenia obszaru, w którym mógłbym zajmować się tworzeniem takich aplikacji. Niestety firma nie była wtedy na to gotowa i moje próby zakończyły się na stworzeniu aplikacji wewnątrzfirmowej i dodatkowo kolejnej jako POC.
Jako frontend developer pracowałem od dłuższego czasu zarówno na etacie, jak i jako freelancer, tworząc różnego rodzaju systemy i serwisy internetowe, włączając w to autorski system zarządzania treścią, którego używałem przy projektowaniu stron internetowych klientom.
W pewnym momencie mojej kariery zauważyłem, iż telefon staje się narzędziem o wielkich możliwościach przy użyciu, którego można wykonać wiele czynności ułatwiających życie, od zwykłych zakupów po IoT, Automotive czy Smart Home, dlatego zacząłem się interesować tworzeniem aplikacji.
Swoją karierę w AK próbowałem rozpocząć od stanowiska kierownika zespołu frontend, choćby przeszedłem pozytywnie rekrutację, ale z uwagi na trzymiesięczny okres wypowiedzenia, jaki mnie obowiązywał, AK musiało wybrać kogoś, kto był dostępny od razu i dlatego dostałem propozycję senior developera w zespole frontendowym, którą przyjąłem z uwagi na potrzebę zmiany. Ponadto sama firma wyglądała obiecująco.
Jak początkowo zareagowałeś na propozycję utworzenia zespołu i kierowania nim? Czy ścieżka liderska zawsze Ci się marzyła?
Oczywiście bardzo się ucieszyłem. Tym bardziej, iż dostałem tę propozycję po dość krótkim czasie od momentu mojego zatrudnienia. Mogłem zajmować się tym, co jest mi najbliższe i spełniać swoje ambicje, a ponadto rozwijać się jako lider zespołu i mieć realny wpływ na to, co będę robił i jak to będę robił.
Nad czym miałeś już okazję pracować ze swoim zespołem, a nad czym pracujecie obecnie?
W ubiegłym roku wydaliśmy nową wersję aplikacji e-Paragony. Jest to aplikacja, która współpracuje z ogólnokrajowym HUB-em paragonowym i pozwala na zbieranie paragonów elektronicznych wprost do aplikacji zaraz po odejściu od kasy — mówiąc w wielkim skrócie.
Już niedługo wydajemy aplikację, która wspierać będzie przedsiębiorców w wystawianiu faktur w oparciu o Krajowy System eFaktur i dawać możliwość zarządzania swoimi fakturami, kontami bankowymi i kontrahentami z poziomu telefona. Rozpoczęliśmy pracę nad nowym wydaniem aplikacji do monitorowania przewozów SENT (System Elektronicznego Nadzoru Transportu) oraz uiszczania opłat (nie wiem, czy nazwę mogę już zdradzić), a dwie kolejne czekają już w kolejce.
Jakie technologie w tej chwili wykorzystujesz w pracy nad aplikacjami mobilnymi?
Obecnie pracujemy w technologii Microsoft .NET Maui. Jest to technologia hybrydowa, która pozwala tworzyć aplikacje mobilne na wiele platform przy użyciu wspólnego kodu. Nie jest to jedyna technologia, która posiada takie możliwości. Są jeszcze m.in. React Native czy Flutter.
Trzeba mieć oczywiście świadomość, iż tego typu technologie nie są dedykowane do każdego rodzaju aplikacji. Są takie obszary, w których lepiej wybrać technologię natywną, ale z wielu względów w naszym przypadku uznaliśmy tę technologię za najbardziej dopasowaną do naszych potrzeb. Daje ona wiele możliwości i oszczędza czas, a co za tym idzie, także i pieniądze z uwagi na to, iż nie trzeba utrzymywać wielu zespołów. Mam tu na myśli kompetencji dla platformy iOS i Android, jak to jest w przypadku technologii natywnej. Pozwala ona również wykorzystywać jeden kod — w naszym przypadku nie tylko w zespole mobile, ale również w innych zespołach wykorzystujących .NET i C# do tworzenia aplikacji.
A jakie technologie i narzędzia wskazałbyś jako najważniejsze do tego, by w tej chwili zostać mobile developerem?
Jak wcześniej wspomniałem, technologii na rynku jest sporo i wiele zależy od człowieka i jego dotychczasowej kariery oraz umiejętności. Wcześniej zadałaś pytanie, co mnie skłoniło do wejścia w świat mobile i jak już wiesz, miałem duże doświadczenie w tworzeniu aplikacji webowych, w tym przy użyciu popularnej biblioteki JavaScript React. Stąd już bardzo blisko do aplikacji mobilnych, ponieważ jedną z tych hybrydowych technologii jest React Native, czyli odłam Reacta, tyle iż do pisania aplikacji mobilnych. Z kolei w przypadku mojego zespołu pierwsi jego członkowie mieli bardzo duże doświadczenie z .NET i C#, a stąd też już niedaleko do aplikacji mobilnych z użyciem .NET Maui.
W mojej ocenie jeżeli ktoś jest doświadczonym developerem, to poradzi sobie na wielu obszarach. Nie należy się zatrzymywać i przywiązywać do jednej technologii, jeżeli się chce mieć otwarte drzwi do kariery. Nie mówię tu oczywiście, iż trzeba być specjalistą w każdym obszarze, bo w przypadku IT tak jak i w innych branżach, najlepiej obrać sobie specjalizację i się w niej rozwijać, aby zostać ekspertem, ale dobrze być czujnym i obserwować trendy.
Skoro jesteśmy już przy wymaganiach na rynku pracy. Jak teraz wygląda zapotrzebowanie na mobile developerów? Czy można powiedzieć, iż to wciąż „hot” specjalizacja?
Tak. Uważam, iż to jest wciąż lukratywny obszar. Statystyki pokazują, iż blisko 80% Polaków używa telefona. Podobnie jest na świecie. Według mojej oceny coraz więcej rzeczy będziemy robić przy pomocy telefonu. Już możemy obserwować dynamiczny rozwój na rynku IoT czy automotive. Jeden z wielkich koncernów samochodowych jako jeden z pierwszych w swoich samochodach przeszedł na sterowanie wieloma funkcjami w samochodzie z wykorzystaniem Apple Carplay, jakie Apple umożliwia w swoich najnowszych wydaniach z użyciem tzw. Automaker application.
W obecnych czasach choćby szczoteczka do zębów posiada połączenie ze telefonem, aby śledzić, jak dbasz o zęby i Ci przypomnieć o higienie na wypadek gdybyś zapomniał/a. Kolejne przykłady to czajnik, lodówka, kuchenka czy rower. Współdzielenie cyfrowego klucza do samochodu czy domu to też już codzienność. Wybudzanie domu na podstawie Twojej lokalizacji GPS też nie jest niczym nowym. Więc jak widzisz, nie da się już „normalnie” funkcjonować bez telefona i aplikacji.
Na co powinno się zwrócić szczególną uwagę, gdy planuje się karierę zawodową w obszarze mobile?
Największym wyzwaniem w przypadku aplikacji mobilnych jest różnorodność sprzętu, zwłaszcza dla systemu Android i zapewnienie zgodności. Dobrze zaprojektowana aplikacja radzi sobie też w trybie offline. Ponadto trzeba śledzić zmiany, jakie wnoszą nowe systemy i nieustannie się dokształcać. Dobra znajomość API systemu iOS i Android jest konieczna, aby poprawnie pisać aplikacje na urządzenia mobilne.
Za popularnością rozwiązań mobilnych idzie także wzrost cyberzagrożeń i oszustw. Jak można się przed nimi chronić?
Przede wszystkim należy być czujnym i uważnie czytać wszelkie wiadomości. Nie klikać w podejrzane linki. Zmieniać regularnie hasła z dbałością o ich złożoność. Wbrew pozorom większość problemów związanych z cyberprzestępstwami wynika bardziej z niedbałości użytkowników niż ze źle napisanych aplikacji. Oczywiście trzeba mieć świadomość, iż nie ma systemu idealnego, a jeżeli jest dzisiaj, to jutro już takie być nie musi.
Żyjemy w czasie globalnego niepokoju. Wojna w cyberprzestrzeni toczy się już od dawna, a w ostatnich latach jeszcze bardziej z uwagi na to, co dzieje się na naszej wschodniej granicy. Niestety, ale rozwój informacji cyfrowej powoduje, iż jesteśmy coraz bardziej obnażeni z naszej prywatności. Dostawcy systemu biją się o pozyskanie danych na wszelkie sposoby, a co za tym idzie, nasze dane są gromadzone i przetwarzane na wiele sposobów. Zaczynając od predyspozycji czysto konsumenckich, takich jak zakupy, turystyka, aż po dane behawioralne oraz zdrowotne. To wszystko sprawia, iż przy tworzeniu systemu musimy zwracać szczególną uwagę na bezpieczeństwo.
Na szczęście zachowując wszelkie normy takie jak:
- Autoryzacja i uwierzytelnienie
- Zabezpieczenia sesji
- Szyfrowanie danych
- Zarządzanie uprawnieniami
- Zabezpieczenie danych przechowywanych lokalnie
- Zabezpieczenia przed atakami typu OWASP
- Regularne aktualizacje
- Audyt bezpieczeństwa
- Korzystanie z narzędzi do analizy jakości kodu, podatności itp
- Odpowiednie pokrycie testami
… w dużym stopniu nam to bezpieczeństwo zapewnia.
Z uwagi na popularność telefonów staną się one narzędziem coraz bardziej wykorzystywanym zarówno do ataków na prywatne dane, jak i dane firm, dlatego trzeba zwracać szczególną uwagę na bezpieczeństwo i edukować użytkowników telefonów i aplikacji, aby z rozwagą je użytkowali.
Jednak zapewnienie bezpieczeństwa wymaga ciągłego nadzoru i dostosowywania się do zmieniających się zagrożeń i najlepszych praktyk branżowych.
W Polsce wciąż mamy deficyt specjalistów od cybersecurity. Czy w takim razie warto iść w tym kierunku, gdy planujemy ścieżkę zawodową?
Tak. Warto, a choćby trzeba. Nie tak dawno czytałem raport NCSI (National Cyber Security Index), w którym znaleźliśmy się na pierwszym miejscu, a jeszcze rok temu byliśmy na jedenastym. Na pewno wpływ na to ma wojna na Ukrainie, ale to pokazuje, jak dynamicznie Polska rozwija się na tym obszarze. Jest to bardzo istotny kierunek rozwoju w branży IT w dobie globalnej cyfryzacji informacji oraz sztucznej inteligencji.
Na koniec chciałabym zapytać Cię o aplikację, którą stworzyłeś prywatnie. Jak działa i do czego ona służy?
Nie wiem, czy jest się tutaj czym chwalić. Jedną z takich aplikacji jest aplikacja do przeglądania ofert nieruchomości, w której można zarządzać portfelem takich nieruchomości z kilkoma dodatkowymi opcjami. Nic wielkiego. Napisałem ją jakieś 6 lat temu i pewnie w tej chwili nie wspiera już najnowszych systemów operacyjnych.
W ostatnim czasie bardzo interesuje mnie branża Smart Home i Automotive, dlatego w wolnym czasie eksperymentuję z interfejsem OBDII do zapisu i odczytu parametrów silnika w pojazdach, używając do tego komunikacji bluetooth. Ostatnio, można by powiedzieć, iż „zhackowałem” komunikację z modułem bluetooth jednego z chińskich producentów do zarządzania oświetleniem i napisałem własną „lepszą” aplikację do sterowania. Do tego aplikacje na Apple Carplay czy Android Auto.
Programowanie nie jest moją jedyną pasją. Wiele czasu zabierają mi inne zajęcia, więc mam problem z czasem, ale staram się być na bieżąco z nowymi technologiami, do czego zachęcam wszystkich. Jak mówi słynne powiedzenie: „uczyć się trzeba zawsze, kto się nie uczy, ten nie idzie do przodu, a kto nie idzie do przodu, ten się cofa” czy jakoś tak.
Daniel Szantar. Pracę w branży IT zaczął jeszcze w trakcie studiów inżynierskich, a później magisterskich o kierunku inżynieria oprogramowania. Jego pierwsza praca polegała na wsparciu technicznym w jednej z dużych kopalni węgla w Polsce. Po kilku latach jako wsparcie techniczne przeniósł się do działu utrzymywania oprogramowania, mając pod swoją opieką duży autorski system do obsługi floty transportowej. Kolejnym etapem był departament stricte zajmujący się wytwarzaniem oprogramowania, pełnił tam rolę specjalisty od frontendu.
Przygodę z mobilkami zaczął w technologii Cordova, następnie React Native, a od 2 lat Xamarin. w tej chwili .NET Maui jako kierownik Zespołu Mobile. W zawodzie programisty ceni sobie to, iż z każdym projektem może robić coś innego. Wiele przyjemności sprawia mu fakt, iż produkty, które tworzy, są później używane przez wielu ludzi.
Zdjęcie główne pochodzi z Unsplash.com.