POIT #127: Mobile jako ścieżka kariery

Witam w sto dwudziestym siódmym odcinku podcastu „Porozmawiajmy o IT”. Tematem dzisiejszej rozmowy jest mobile jako ścieżka kariery.

Dziś moim gościem jest Wojciech Znamirowski – Dyrektor Zespołu Rozwoju i Oprogramowania w Polskich ePłatnościach. Programista z zamiłowania – specjalizuje się w technologiach takich jak: .Net, Java, SQL czy Systemy Embedded. Swoją karierę w Polskich ePłatnościach rozpoczął na stanowisku programisty. Dziś jest Dyrektorem i zarządza zespołem wytwarzania i testowania oprogramowania. Najbardziej ceni sobie możliwość łączenia pasji z pracą, która nieustannie zaskakuje nowymi wyzwaniami.

W tym odcinku o mobile jako ścieżce kariery rozmawiamy w następujących kontekstach:

  • dla kogo Mobile to dobra ścieżka kariery? 
  • kto sprawdzi się w tej profesji?
  • jaki background zawodowy mają osoby decydujące się na karierę w mobile?
  • Android czy iOS developer kto ma lepsze perspektywy rozwoju?
  • jaką rolę w rozwoju kariery w tym obszarze mają rozwiązania nienatywne typu Flutter czy React Native?
  • co oprócz języka i platformy powinien wiedzieć i znać mobile developer?
  • jak może wyglądać ścieżka lub ścieżki kariery w mobile?
  • podążanie za wieloma nowościami czy głębsze poznanie węższego obszaru technologicznego?
  • jak wyglądają wynagrodzenia i ilość ofert pracy w sektorze mobile?
  • w jakich innych niż programowanie specjalizacjach mobile można się rozwijać?
  • czy kariera w mobile jest perspektywiczna na najbliższe lata?

Subskrypcja podcastu:

Linki:

Wsparcie na Patronite:

Wierzę, że dobro wraca i że zawsze znajdą się osoby w bliższym lub dalszym gronie, którym przydaje się to co robię i które zechcą mnie wesprzeć w misji poszerzania horyzontów ludzi z branży IT.

Patronite to tak platforma, na której możesz wspierać twórców internetowych w ich działalności. Mnie możesz wesprzeć kwotą już od 5 zł miesięcznie. Chciałbym oddelegować kilka rzeczy, które wykonuję przy każdym podcaście a zaoszczędzony czas wykorzystać na przygotowanie jeszcze lepszych treści dla Ciebie. Sam jestem patronem kilku twórców internetowych i widzę, że taka pomoc daje dużą satysfakcję obu stronom.

👉Mój profil znajdziesz pod adresem: patronite.pl/porozmawiajmyoit

Pozostańmy w kontakcie:

 

Muzyka użyta w podcaście: „Endless Inspiration” Alex Stoner (posłuchaj)

Transkrypcja podcastu

To jest 127. odcinek podcastu Porozmawiajmy o IT, w którym z moim gościem rozmawiam o Mobile jako ścieżce kariery.

Przypominam, że w poprzednim odcinku rozmawiałem o trendach w cyberbezpieczeństwie na rok 2021.

Wszystkie linki oraz transkrypcję dzisiejszej rozmowy znajdziesz pod adresem porozmawiajmyoit.pl/127.

Ocena lub recenzja podcastu w Twojej aplikacji jest bardzo cenna, więc nie zapomnij poświęcić na to kilku minut.

Nazywam się Krzysztof Kempiński, a moją misją jest poszerzanie horyzontów ludzi z branży IT. Środkiem do tego jest, między innymi, ten podcast. Zostając patronem na platformie Patronite, możesz mi w tym pomóc już dziś. Wejdź na porozmawiajmyoit.pl/wspieram i sprawdź szczegóły.

Jednocześnie bardzo dziękuję moim obecnym patronom.

A teraz życzę Ci już miłego słuchania.

Odpalamy!

 

Cześć!

 

Mój dzisiejszy gość to dyrektor zespołu rozwoju i oprogramowania w Polskich ePłatnościach, programista z zamiłowania, specjalizuje się w takich technologiach, jak .NET, Java, SQL czy Systemy Embedded. Swoją karierę w Polskich ePłatnościach rozpoczął na stanowisku programisty, dziś jest dyrektorem i zarządza zespołem wytwarzania i testowania oprogramowania. Najbardziej ceni sobie możliwość łączenia pasji z pracą, która nieustannie zaskakuje nowymi wyzwaniami. 

Moim i Waszym gościem jest Wojciech Znamirowski.

Cześć, Wojciechu! Bardzo miło mi gościć Cię w podcaście.

 

Dzień dobry! Pozdrawiam!

 

Dzisiaj porozmawiamy z Wojtkiem o Mobile, ale w takim ujęciu planowania kariery czy jako ścieżka kariery. Ale zanim przejdziemy do tego tematu, to zapytam Cię, Wojtku, tak jak zresztą każdego gościa w moim podcaście, czy słuchasz podcastów? Jeśli tak, może masz jakieś swoje ulubione audycje?

 

Tak, oczywiście. Zawodowo jest to tematyka raczej związana z takimi aspektami, jak architektura na poziomie systemów, jak i samego kodu, rozwój w IT, tutaj głównie jako inspiracja dla członków mojego zespołu deweloperskiego. Dodatkowo ostatnio dość mocno śledziłem aspekty związane ze zdalną pracą, tu szczególnie aspekt rozproszonego zespołu. Tutaj katalizatorem był oczywiście COVID. I kwestie związane z cyklem wytwarzania oprogramowania. To jeśli chodzi o to, co jest związane z moją główną etatową pracą, a oprócz tego hobbystycznie aspekty związane z IoT, jak i FPGA. Styk z elektroniką był zawsze w moim zakresie zainteresowań.

 

Super, świetnie. Z racji tego, co powiedziałeś, z racji na pandemię, myślę że obserwujemy, że coraz więcej osób jest zainteresowanych karierą w IT, pewnie programowanie się tutaj wybija. Taką trochę węższą dziedziną jest Mobile. Myślę też, że to jest trochę tak samo, jak z piłką nożną. To, że każdy może w nią grać, nie znaczy, że każdy będzie najlepszym piłkarzem. Dlatego chciałbym Cię na początku zapytać, w Twojej opinii, dla kogo Mobile to jest dobra ścieżka kariery?

 

Przede wszystkim dla osób, które w taki naturalny sposób dobrze czują się w budowaniu aplikacji mocno ukierunkowanych na interakcję z użytkownikiem, gdzie oprogramowanie aplikacji jest ukierunkowane na taki dobrze zaprojektowany UX. To przede wszystkim dla osób, dla których to jest istotne. Ja myślę, że każdy z deweloperów ma swoje preferencje. Niektórzy najlepiej czują się w szeroko rozumianym back-endzie i mam tu na myśli takie rozwiązania stricte serwerowe. 

Ale patrząc też z innej strony, to też preferencje technologiczne mają duże znaczenie. W dzisiejszych czasach technologie około mobilne są już tak mocno ugruntowane, że dają możliwość rozwinięcia skrzydeł jako programista. Podejrzewam, że gdybym ja zaczynał obecnie swoją karierę w IT, to mój wybór padłby zapewne bliżej Mobile. Piętnaście lat temu jednak tak to nie wyglądało, wszystko było bardziej około komputerowe i serwerowe, i bardziej się rozwinąłem w tym kierunku. Ale konkludując, z czystym sercem mogę polecić każdemu, szczególnie jeśli trafi się na jakiś fajny, rozwojowy projekt.

 

Tak, ja też jestem zawodowo dużo bardziej związany z back-endem, ale miałem taką krótką przygodę, chęć stworzenia czegoś, co jest tak bardzo namacalne, czegoś, co tak naprawdę na swoim telefonie jesteś w stanie uruchomić. Myślę, że to jest podobne nawiązanie do tego, co mówiłeś z elektroniką. Namacalność Twojego produktu jest jednak czymś przyciągającym. Dla mnie to też była trochę odskocznia od tego, tak jak to określiłeś, czysto serwerowego programowania. Trochę zbliżenie się, jak sobie teraz o tym myślę, może do front-endu, do UI, do UX. To jest też fajna odskocznia.

Jak myślisz, kto sprawdzi się w tej profesji? Chęć zostania czy wejścia w tę branżę, w tę dziedzinę, to jest jedno, ale jaki profil osób odnajdzie się dobrze, według Ciebie, jako Mobile deweloper?

 

Jest to pytanie podobne do poprzedniego, ale abstrahując od takich osobowościowych preferencji, to na pewno każdy, kto rzetelnie podchodzi do wiedzy technologicznej oraz ma taką naturalną chęć rozwoju. Na pewnym etapie złożoności projektów bardzo istotną kwestią staje się umiejętność analizy biznesowej, więc na pewno osoby, które potrafią w tym pracować, które potrafią analizować problemy biznesowo, systemowo i pracują w metodologii agilnej, bo jednak te projekty Mobile’owe są najczęściej w tej metodologii prowadzone. Jeśli mógłbym powiedzieć tutaj z mojego podwórka, my w PeP mamy wdrożony pełen cykl wytwarzania oprogramowania, właśnie agilnie, i mogę powiedzieć, że umiejętność pracy w takim środowisku zapewnia największą efektywność i satysfakcję z wykonywanej pracy.

 

Jako Mobile deweloper odnajdzie się każdy, kto rzetelnie podchodzi do wiedzy technologicznej oraz ma taką naturalną chęć rozwoju. Na pewnym etapie złożoności projektów bardzo istotną kwestią staje się umiejętność analizy biznesowej, więc na pewno osoby, które potrafią w tym pracować, które potrafią analizować problemy biznesowo, systemowo i pracują w metodologii agilnej, bo jednak te projekty Mobile’owe są najczęściej w tej metodologii prowadzone. 

 

Czy myślisz, że trzeba mieć takie trochę ocierające się o UI skille, pewne wyczucie interfejsu, może jakiś zmysł graficzny? Czy to jest niezbędne w pracy Mobile dewelopera?

 

Myślę, że trzeba mieć to na uwadze dość mocno. To tak, jak w drugim pytaniu odpowiadałem. Musi być, mimo wszystko, tutaj ukierunkowanie, bo tacy deweloperzy stricte back-endowi bardzo często nie potrafią zaprojektować dobrego interfejsu użytkownika oraz też często nie potrafią zwrócić uwagi, że jakiś przebieg od strony użytkownika na urządzeniu jest nielogiczny albo nie jest dostatecznie prosty dla osoby nie technicznej.

 

Coś w tym jest. Mówi się o programistach back-endu, że tworzą bardzo sprawnie i dobrze działające oprogramowanie, z którego nie da się korzystać. Faktycznie, coś w tym jest. Tworzenie aplikacji mobilnych to jest, jakby nie patrzeć, jeszcze całkiem świeża rzecz, patrząc ogólnie na programowanie. Często jest tak, że do tej działki programowania przechodzą osoby, które wcześniej miały różne inne doświadczenia zawodowe, technologiczne. Czy, w Twojej opinii, jest taki background zawodowy związany z technologiami czy projektami wcześniej realizowanymi, jaki mają najczęściej osoby, które rozpoczynają swoją karierę w Mobile?

 

Ja się tutaj wypowiem dość skromnie, ponieważ nasz projekt oparty o technologie mobilne jako takie, oparte o Androida, w Polskich ePłatnościach jest dość świeży, bo te urządzenia taki akceptowalny próg cenowy osiągnęły dopiero niedawno. Ale mimo wszystko, z tych krótkich doświadczeń wynika, że są to w pierwszej kolejności osoby już w jakimś zakresie powiązane z projektami postrzeganymi jako Mobile, a w dalszej kolejności deweloperzy na początku swojej kariery, którzy chcą obrać taki kierunek zawodowy. Zdarzają się też osoby, które uczestniczyły w projektach nie mobilnych, ale opartych głównie o technologię Java.

 

A czy jest wiadome albo czy obserwujesz też takie osoby, które są na różnego rodzaju bootcampach, szkołach programowania w kierunku Mobile, czy też na polskim rynku nie mamy czegoś takiego?

 

Nie, raczej czegoś takiego nie obserwowałem w CV, że ktoś bardzo mocno przebieg swojej nauki na uczelni ukierunkowywał w stronę Mobile.

 

Rozumiem. Powiedziałeś o Androidzie. Jakby tak spojrzeć na to, jaki jest udział Androida w stosunku do konkurencyjnych platform, czyli iOS-a tak w zasadzie, to na polskim rynku zdecydowanie on dominuje. Jakiś czas temu, jak obserwowałem ilość ofert pracy pod kątem Android vs iOS, to można powiedzieć, że mimo wszystko, takie bardziej atrakcyjne były związane z platformą iOS. Jestem ciekaw, jak to teraz wygląda. Czy, w Twojej opinii, Android czy iOS deweloper ma obecnie lepsze perspektywy rozwoju?

 

To jest bardzo dobre pytanie i moja odpowiedź też może być troszeczkę skrzywiona, ponieważ, jak wiadomo, aktualnie ilość urządzeń opartych na Android jest dwa razy większa, aniżeli tych opartych o iOS-a. Tak wynika ze statystyk. Wydaje się też, że Android jest systemem bardziej otwartym, co pozwala na stosowanie go w wielu urządzeniach nie będących stricte telefonami czy tabletami. Tutaj właśnie bardzo dobrym przykładem jest firma PeP, bo prowadzimy projekt terminala POS opartego o Android, a liczba producentów takich terminali już zbliża się do dziesięciu, opartych o system Android.

Na ten moment nie wyobrażam sobie, szczerze powiedziawszy, aby Apple stworzyło swoją linię terminali POS, bo pewnie by to tak wyglądało, bo u nich to jest zamknięte. Ja to stwierdzenie też rozciągnąłbym na inne branże, bo aktualnie hardware na tyle staniał, że inne zaawansowane urządzenia mogą pojawiać się dokładnie wszędzie, w sprzęcie RTV, AGD i wielu innych. Konkludując, osobiście stawiam na Android, ale, jak wiadomo, jest to starcie gigantów technologicznych i ostatecznie ciężko wyrokować, jak sytuacja będzie wyglądać za dziesięć lat.

 

Rozumiem. Taką odpowiedzią na problem Android vs iOS są różnego typu platformy czy też rozwiązania, które działają na wielu systemach, wielu platformach. Myślę tutaj głównie o Flutterze czy React Native, które są dosyć powszechnie teraz stosowane. Jaką rolę obecnie, według Ciebie, tego typu systemy odgrywają na przykład w rozwoju Mobile dewelopera? Na ile on musi być świadomy, na ile musi uwzględniać w tym swoim rozwoju właśnie tego typu rozwiązania?

 

Odpowiem troszeczkę wymijająco. Myślę, że to zależy, bo wydaje mi się, że dla stosunkowo małych projektów stosowanie tego typu rozwiązań daje możliwość utrzymania jednego kodu i rozpropagowanie go na urządzenia różnych producentów, ale nie są to technologie bezkosztowe. Więc przy bardziej złożonych aplikacjach mogą stać się niewydajne lub powodować problemy w działaniu, co pociąga za sobą różnego rodzaju obejścia. Ja osobiście jestem sceptyczny, ale szczęśliwie dla mnie nie stawałem przed takim dylematem w PeP z powodów wymienionych powyżej. Terminal, jaki my mamy, jest oparty o Android, więc naturalnym jest w pełni natywne podejście.

 

Właśnie, jestem bardzo ciekawy, w którym kierunku to się będzie rozwijało. Czy jednak te platformy alternatywne czy też wieloplatformowe będą w jakiś sposób dominowały rynek, czy też w mimo wszystko jednak znajdzie się miejsce dla jednych i dla drugich, bo, tak jak powiedziałeś, o ile wygodnie i dosyć szybko można stworzyć aplikację na wiele platform, o tyle można się też zderzyć z problemami, wydajnościowymi kwestiami, których jednak nie da się rozwiązać bez znajomości tych natywnych rozwiązań. 

 

Jasne, tutaj też należy wspomnieć prawie nieboszczyka Xamarina, prawda?

 

Tak. Faktycznie osoby, które poświęciły jakiś czas czy część swojej kariery na zgłębianie tej technologii, w tej chwili trochę dysponują takimi umiejętnościami, które na rynku nie są zbyt poszukiwane. Właśnie, jest ryzyko. Tak myślę, że poznanie tych podstaw, tutaj myślę konkretnie o Androidzie, o iOS-ie, czyli o tych natywnych rozwiązaniach, mogę zaryzykować chyba twierdzenie, że zawsze będzie potrzebne, niezależnie od tego, czy wieloplatformowe rozwiązania zdobędą większą lub mniejszą popularność.

Myślę, że być może na początku warto by się było na coś zdecydować, nie wiem, czy się ze mną zgodzisz. Trudno będzie nam równolegle podążać za rozwojem Androida i iOS-a. Mamy tę platformę, mniej lub bardziej mamy narzucony język. Na Androida w tej chwili można użyć przynajmniej dwóch, ale wiadomo, że Kotlin jest dominujący. W przypadku iOS-a też teoretycznie dwa, ale też wiadomo, że właściwie zostaje nam Swift. Więc mamy język, mamy platformę, czy jest coś jeszcze oprócz właśnie platformy i języka, co, według Ciebie, jest niezbędne w takim toolboxie dewelopera aplikacji mobilnych, co na pewno musi poznać, żeby uczestniczyć chociażby w tworzeniu aplikacji w zespole, w jakiejś firmie?

 

Ja oczywiście skoncentruję się głównie na tej platformie Android, z którą jesteśmy związani w PeP. Po pierwsze, środowisko deweloperskie, rekomendowane przez Googla Android Studio, ale też inne, IntelliJ IDEA. Oprócz tego, z najważniejszych bibliotek czy też frameworków, to mógłbym wymienić RxJavę, Daggera czy Rooma. Nieocenionym przy większych projektach jest doświadczenie z Jenkinsem, żeby zapewnić integrację CI/CD. Znajomość jakiegoś repozytorium artefaktów, my na przykład korzystamy z JFroga. Oczywiście repozytorium kodu. Większość projektów jest w tym momencie oparta o Gita, my dodatkowo jeszcze wspomagamy się Gerritem do review kodu. Narzędzia do debugowania, takie jak ADB i ja zawsze wymagam od deweloperów jakiejś znajomości SQL-a. Jeszcze dodatkowo, jak miałbym coś tutaj wskazać, to świetnie jest, kiedy deweloper jest obeznany z UML-em, to pozwala jednak czytać odpowiednio i tworzyć dokumentacje techniczne.

 

Dodałbym, że na pewno język angielski też jest takim minimum, ale to jest oczywiste.

 

To już jest standard.

 

Tak, o to już nikt nie pyta, tego już nikt nie wymienia w ofertach pracy, bo to jest taki standard. Na ile, w Twojej opinii, można by tu też dodać taką znajomość API REST-owego, jakiegoś grafowego, na ile to jest niezbędne na przykład dla dewelopera?

 

Oczywiście. Ja pominąłem troszeczkę ten aspekt, nie przyszedł mi do głowy w pierwszej chwili w odpowiedzi na to pytanie, ponieważ my w PeP, w tym światku płatniczym, używamy troszeczkę innych protokołów. Rzadko kiedy nasze aplikacje komunikują się właśnie jakimś API REST-owym, są to takie specyficzne protokoły, wręcz binarne. Wynika to troszeczkę z przeszłości. Pewnie gdyby to powstawało w dzisiejszych czasach, to byłyby to API REST-owe. Mimo wszystko z jakichś takich standardów korzystamy. Ale oczywiście, uogólniając, jasne, jest to na pewno niezbędne. Jest to standard w dzisiejszych czasach.

 

Cieszę się, że wymieniłeś różne technologie, bo mam wrażenie, że często ludzie bardzo szufladkują różne specjalizacje. Wyobrażenie może być takie, że jeśli będę Mobile deweloperem, to będę pracował tylko z telefonem i właściwie nic innego nie muszę wiedzieć. Tymczasem to po prostu nieprawda, ponieważ nigdy albo rzadko jest tak, że tworzę rozwiązanie w oderwaniu od wszystkiego innego. Współpracuję, chociażby korzystając z API, z zewnętrznymi usługami, współpracuję z teamem, więc korzystam z Gita, tworzę testy, żeby utrzymać, podnosić jakość. Coraz częściej, wydaje mi się, trzeba mówić o tym, że szersza wiedza jest już obecnie niezbędna, nawet na węższych stanowiskach w IT, żeby łączyć te różne rzeczy, bo rzadko kiedy jest już tak, że pracujemy zupełnie w oderwaniu od innych systemów.

Jeśli chodzi o back-end, który jest mi bliski, to często mówi się o tym, że mamy projekty typu greenfield, które są dopiero rozpoczynane, gdzie możemy się trochę wyżyć, użyć nowych frameworków, nowych podejść zasłyszanych gdzieś na konferencjach, realizować się. Jest też tak zwana utrzymaniówka, czyli brownfield, gdzie projekt już jest dojrzały, może biznesowo zarabia i naszą rolą jest jego utrzymanie, naprawa błędów, dokładanie funkcjonalności. Czy w przypadku aplikacji mobilnych też taki klasyczny podział występuje? Czy też może ten cykl życia aplikacji jest jednak krótszy i takich aplikacji, które zostały stworzone jakiś czas temu i trzeba je ileś lat utrzymywać po prostu nie ma?

 

Odpowiedź brzmi: oczywiście, tak, jedno i drugie. Co prawda ja nie znam statystyk, jak długo przeciętna aplikacja żyje, ta która się pojawia w storze, ile jest jakichś startupów, które mają pomysł na nową aplikację i one później po prostu kończą cykl życia, ale może wypowiem się, jak to wygląda u nas. U nas projekt aplikacji płatniczej czy innych usług na terminale jest taki bardzo dojrzały i jest takim rozwiązaniem dość złożonym i podlega ciągłemu rozwojowi. U nas to wygląda w ten sposób, że utrzymanie vs nowe funkcjonalności, to jest tak mniej więcej w proporcjach osiemdziesiąt pięć do piętnaście, przy czym oczywiście osiemdziesiąt pięć to jest rozwój naszych aplikacji. Jeśli chodzi o czas życia, to w naszym przypadku my w ogóle nie planujemy zakańczania cyklu życia takich aplikacji, bo one cały czas podlegają tylko ciągłemu rozwojowi.

 

Właśnie, to jest ciekawe, bo mam wrażenie, że jest taka tendencja i każdy chciałby zaczynać te projekty greenfield, gdzie ma dużo do powiedzenia, może użyć nowych rozwiązań i to jest takie satysfakcjonujące. Ale z mojej obserwacji wynika, że jednak poświęcenie trochę na czasu na projekt jest też bardzo wartościowe, ponieważ dopiero wtedy możemy się nauczyć sporo rzeczy związanych z tym, że gdy aplikacja już działa w pewnej skali, kiedy już zebrała iluś użytkowników, to pojawiają się problemy, których na początku zupełnie nie było i trzeba sobie z tym poradzić. Sugerowałbym, nie wiem, czy też się ze mną zgodzisz, żeby jednak każdy deweloper, niezależnie, czy to jest Mobile czy zupełnie innej specjalizacji, spróbował przynajmniej tych dwóch podejść, bo jedno i drugie czegoś nas może nauczyć.

 

Jasne.

 

Dobrze, to gdybyśmy sobie wzięli taką ścieżkę kariery Mobile dewelopera, to jak ona by mogła wyglądać? Jakie etapy taki programista lub programistka mogłaby przechodzić?

 

Myślę, że dość klasycznie. Jeśli chodzi o deweloperów, to taki standardowy podział Junior, Middle, Senior, no i jeśli dana osoba przejawia odpowiednie cechy i ma aspiracje, może też pełnić rolę architekta i/lub team lidera w zespole. Jest to też jakaś forma oczywiście awansu. No i ostatecznie też można awansować na jakieś stanowisko managerskie, co jednak wiąże się ze zredukowaniem czasu poświęconego na programowanie. Wiem też i też jestem pewnie przykładem, doskwiera mi to, bo jednak powrót do programowania zawsze cieszy, a zajmowanie takimi kwestiami managerskimi zawsze troszeczkę uwiera dla osób technicznych. 

 

Oczywiście, dokładnie. Dobrze, zacząłeś mówić też o rozwoju, mam wrażenie, bo mamy możliwość kroczenia ścieżkami kariery w momencie, kiedy się rozwijamy. Dlatego chcę Cię zapytać o to, co się najlepiej sprawdzi, jeśli chodzi o ten obszar Mobile. Czy głębsze poznanie jakiejś jednej technologii, bycie takim ekspertem, specjalistą w czymś wąskim, czy też może dosyć szeroko, ale takie płytsze poznanie, na przykład różnych platform? Czy któraś z tych dróg, czy któraś z tych możliwości jest według Ciebie lepsza, jeśli chodzi o Mobile?

 

To takie klasyczne pytanie. Ja to postrzegam w ten sposób, że takie podejście powinno ulegać zmianie w zależności od stażu pracy i bardzo często tak w sposób naturalny wychodzi. Młodzi programiści raczej powinni być otwarci, być maksymalnie na bieżąco. Pozwala to na ugruntowanie wiedzy w wielu obszarach i poznanie wielu technologii. Natomiast z czasem, kiedy trafi się na jakiś stabilny projekt, duży, bo pewnie każdy deweloper w pewnym momencie poświęca więcej czasu przy jakimś większym projekcie, taka specjalizacja nastąpi naturalnie. Z kolei, jak ktoś jest na takim etapie, to doświadczenie pomaga mu w szybszej zmianie technologii, aniżeli kiedy był na początku swojej kariery. Ja zawsze mam w zwyczaju mawiać, że dla doświadczonego programisty technologia jest kwestią wtórną. Więc, podsumowując im ktoś jest młodszy, tym powinien szerzej patrzeć, a specjalizacja nastąpi pewnie na jakimś etapie kariery.

 

Młodzi programiści raczej powinni być otwarci, być maksymalnie na bieżąco. Pozwala to na ugruntowanie wiedzy w wielu obszarach i poznanie wielu technologii. Natomiast z czasem, kiedy trafi się na jakiś stabilny projekt, duży, bo pewnie każdy deweloper w pewnym momencie poświęca więcej czasu przy jakimś większym projekcie, taka specjalizacja nastąpi naturalnie. Z kolei, jak ktoś jest na takim etapie, to doświadczenie pomaga mu w szybszej zmianie technologii, aniżeli kiedy był na początku swojej kariery. Ja zawsze mam w zwyczaju mawiać, że dla doświadczonego programisty technologia jest kwestią wtórną. Więc, podsumowując im ktoś jest młodszy, tym powinien szerzej patrzeć, a specjalizacja nastąpi pewnie na jakimś etapie kariery. 

 

Zgadzam się, absolutnie. Jak już mówimy o karierze, o rozwoju, to nie możemy nie powiedzieć trochę o rynku pracy. Chcę Cię zapytać o to, jak sobie spoglądasz na wynagrodzenie czy ilość ofert pracy w tym sektorze Mobile i porównałbyś to do innych specjalizacji, takich klasycznych front-end i back-end, to czy, według Ciebie, ten Mobile jest już na tyle dużym rynkiem pracy w stosunku do innych specjalizacji?

 

Rynek, szczerze powiedziawszy, ja byłem zaskoczony, że on jest mimo wszystko dość wąski w tym momencie, brakuje deweloperów mobilnych. Jeżeli chodzi o kwestie uposażenia, wynagrodzenia, to tutaj nie ma jakichś zasadniczych różnic w porównaniu z, powiedzmy, Web deweloperami. Jeżeli chodzi o wynagrodzenia, to, z mojego doświadczenia, bo też mamy taki team w technologii Embedded, mamy programistów C++, oni troszeczkę odstają w górę, ale tam próg wejścia technologicznego jest znacznie wyższy i to pewnie to uzasadnia.

 

Teraz, mam wrażenie, jest taka trochę nietypowa sytuacja na rynku pracy, gdzie poszukuje się doświadczonych osób i faktycznie tych ofert dla doświadczonych programistów jest całkiem sporo, ale jednocześnie przybywa też Junior deweloperów i, na przykład, jeśli jest jakaś oferta dla Junior deweloperów, to całkiem sporo tych CV spływa. Mam wrażenie, że Junior deweloperzy obecnie mają trochę problem, jeżeli chodzi o znalezienie tej pierwszej pracy. Tak przynajmniej obserwuję, jeśli chodzi o back-end, jeśli chodzi o front-end. Czy w przypadku sektora Mobile, tego rynku pracy związanego z Mobile, też podobne sytuacje obserwujesz, że przybywa na przykład Junior deweloperów, którym trudno jest znaleźć pracę?

 

Tak, zdecydowanie obserwuję taką tendencję i to nie jeśli chodzi wyłącznie o technologię mobilną, ale też każdą inną. Teraz zależy oczywiście od tego, jak firma jest duża, jak duży jest team deweloperski, ile może poświęcić czasu na doszkolenie. Tutaj zawsze trzeba pewnie zważyć, czy możemy się zaangażować w to szkolenie takiej osoby, żeby później czerpać zyski z wykonywanej przez nią pracy, no i też ponosić ryzyko, że ona może za chwilę odejść. Mimo wszystko, wydaje mi się, że przy takich większych projektach, zawsze w teamie powinno się znaleźć miejsce dla jakichś, powiedzmy, dwudziestu procent takich ludzi właśnie z mniejszym doświadczeniem, którzy mogą zostać dokształceni przez starszych kolegów.

 

Pewnie, tak, myślę że to jest zdrowy udział i faktycznie, też jak rozmawiam z ludźmi, którzy zatrudniają do różnych firm programistycznych, to podobne zdanie wyrażają, że istnieje tutaj pewne ryzyko zainwestowania czasu, zainwestowania pieniędzy w osobę, która bardzo szybko może tę firmę opuścić i szukać rozwoju poza. To jest zawsze takie trudne do wyważenia. Myślę sobie, że dla tych Junior deweloperów istotne jest to, żeby w jakiś sposób się wyróżnić też, w jakiś sposób się pokazać, może coś robić takiego swojego, coś czym można zabłysnąć na przykład, coś, co może przyciągnąć uwagę pracodawcy.

Trochę w tej rozmowie o ścieżkach kariery w Mobile skupiliśmy się na deweloperze, ale programowanie to nie wszystko jeszcze, jeśli chodzi o wytwarzanie aplikacji mobilnych. Czy są jakieś specjalizacje, o których mógłbyś powiedzieć, jakieś role poza programowaniem, w których warto się rozwijać, w które warto inwestować swój czas, żeby później znaleźć pracę, jeśli chodzi o Mobile?

 

Wydaje mi się, że takie dwa główne kierunki, to designer UX-a, jest to pewnie dość fajna praca i, z tego, co mi wiadomo, też dość dobrze płatna i klasycznie tester takich rozwiązań. To są takie główne dwa kierunki. Oprócz tego w każdej dużej firmie, u nas też takie osoby istnieją, które są odpowiedzialne za wdrażanie aplikacji, za, jak gdyby, dokańczanie projektu, za przygotowywanie jakiejś specyficznej konfiguracji, dopomaganie właśnie testerom, tacy w naszej nomenklaturze technicy. Nie potrafię tego odnieść do żadnej takiej pozycji rynkowej, ale takie osoby są też szalenie potrzebne i też potrafią czerpać z tego satysfakcję.

 

Wydaje mi się, że takie dwa główne kierunki [poza programowaniem], to designer UX-a, jest to pewnie dość fajna praca i, z tego, co mi wiadomo, też dość dobrze płatna i klasycznie tester takich rozwiązań. To są takie główne dwa kierunki. Oprócz tego w każdej dużej firmie, u nas też takie osoby istnieją, które są odpowiedzialne za wdrażanie aplikacji, za, jak gdyby, dokańczanie projektu, za przygotowywanie jakiejś specyficznej konfiguracji, dopomaganie właśnie testerom, tacy w naszej nomenklaturze technicy.

 

Czy jeśli chodzi o testerów, to są też osoby, które muszą w jakiś sposób automatyzować testowanie, czy też myślisz tutaj raczej o manualnym testowaniu?

 

Jedno i drugie. Niektóre rzeczy oczywiście da się zautomatyzować, niektóre nie. U nas w firmie jest to szczególnie utrudnione, bo większość aplikacji mobilnych da się pewnie w stu procentach być może pokryć testami automatycznymi, a te urządzenia, na których my pracujemy, one mimo wszystko podlegają pewnym obostrzeniom. Tam są moduły hardware’owe, które nie pozwalają na dostęp inny niż manualny, więc potrzebujemy też testerów manualnych. Chodzi tutaj na przykład o wprowadzanie PIN-u, gdyby do tego był dostęp gdzieś od tyłu, to zdecydowanie nie dostałoby certyfikacji. 

 

No tak, w sumie to ma sens. Obserwuję też, że jeśli chodzi o takich testerów manualnych, w świecie na przykład front-endu czy nawet back-endu, oni są już w znacznym stopniu zastępowani przez takich testerów automatyzujących, natomiast jeśli chodzi o, na przykład, Systemy Embedded czy też taki Mobile szerzej rozumiany, to tutaj ciągle jeszcze jest potrzeba testowania manualnego, chociażby na takie ograniczenia, o jakich tutaj mówisz, nie da się podłączyć w jakiś sposób przez API, cokolwiek innego, żeby pewne rzeczy zautomatyzować.

 

Oczywiście.

 

Ok. Na koniec chciałbym Cię zapytać, czy kariera w Mobile, w Twojej ocenie, to jest perspektywiczna ścieżka rozwoju na najbliższe lata? Polecałbyś to, powiedzmy, osobom, które myślą o rozpoczęciu przygody z IT?

 

Oczywiście, że tak. To jest tak dynamicznie rozwijający się kierunek, że nie mam żadnych wątpliwości. W ogóle nie jestem sobie w stanie wyobrazić jakiegokolwiek trendu, który zagroziłby takiemu sukcesywnemu wzrostowi tej gałęzi, nazwijmy to przygody z programowaniem. W mojej opinii jest to niezagrożone i wręcz ta proporcja będzie się na pewno w przyszłości zwiększać.

 

Tak, zgadzam się z tym absolutnie. Myślę sobie, że to też jest taka satysfakcjonująca praca, bo naprawdę możliwość uruchomienia aplikacji pisanej przez siebie na swoim telefonie, to jest zupełnie inny, mam wrażenie, poziom, niż na przykład oglądanie tej aplikacji w przeglądarce. To jest jednak trochę inna rzecz.

 

No tak, jest to troszeczkę inne doznanie, tak. 

 

Super, świetnie. Bardzo Ci dziękuję za poświęcony czas, za rozmowę, za podzielenie się doświadczeniami, jeśli chodzi o Mobile i ścieżkę kariery. Dzięki wielkie!

 

Dziękuję również.

 

Powiedz, proszę, na koniec, gdzie Cię można znaleźć w Internecie, jak się z Tobą skontaktować?

 

Mój profil na LinkedInie, to jest właściwie najlepsze miejsce, gdzie można się ze mną skontaktować. Kontrybuuję w kilku innych projektach, ale jest to daleko mniej wyeksponowane.

 

Rozumiem, świetnie. Oczywiście będzie to w notatce do tego odcinka podlinkowane. 

Dzięki jeszcze raz za poświęcony czas i do usłyszenia. 

Cześć!

 

Dziękuję. Cześć!

I to na tyle z tego, co przygotowałem dla Ciebie na dzisiaj. Mobile to już wieloletni trend. Badania pokazują, że coraz częściej korzystamy ze smartfonów i aplikacji na telefonie. Rozwój kariery zawodowej w tym kierunku, to z pewnością dobry pomysł.

Jeśli ten odcinek był dla Ciebie interesujący i przydatny, odwdzięcz się, proszę, recenzją, oceną lub komentarzem w social mediach. Jeśli masz jakieś pytania, pisz śmiało na krzysztof@porozmawiajmyoit.pl. Zapraszam też do moich mediów społecznościowych.

Nazywam się Krzysztof Kempiński, a to był odcinek podcastu Porozmawiajmy o IT o Mobile jako ścieżce kariery.

Zapraszam do kolejnego odcinka już za dwa tygodnie.

Cześć!

 

+ Pokaż całą transkrypcję
– Schowaj transkrypcję
mm
Krzysztof Kempiński
krzysztof@porozmawiajmyoit.pl

Jestem ekspertem w branży IT, w której działam od 2005 roku. Zawodowo zajmuję się web-developmentem i zarządzaniem działami IT. Dodatkowo prowadzę podcast, kanał na YouTube i blog programistyczny. Moją misją jest inspirowanie ludzi do poszerzania swoich horyzontów poprzez publikowanie wywiadów o trendach, technologiach i zjawiskach występujących w IT.