Kod

Rozwój mobilny: 5-etapowa droga do sukcesu w IT

Rozwój mobilny: 5-etapowa droga do sukcesu w IT

Kurs Pythona: 4 projekty portfolio i wywiad z prelegentem

Dowiedz się więcej

Anna Zharkova jest wiodącą programistką mobilną w Usetech, specjalizującą się w tworzeniu aplikacji natywnych na platformy iOS i Android. Tworzy aplikacje w Swifcie i Objective-C na iOS, a na Androida używa Kotlina i Javy. Ponadto Anna aktywnie pracuje z rozwiązaniami wieloplatformowymi, takimi jak Xamarin i Kotlin Multiplatform. Z ponad ośmioletnim doświadczeniem w programowaniu mobilnym, pełni funkcję lidera zespołu i mentora, a także jest ekspertem w zakresie Kotlin GDE. Anna dąży do ciągłego doskonalenia swoich umiejętności i wdrażania najlepszych praktyk w programowaniu, co czyni ją cennym nabytkiem dla zespołu Usetech. Anna aktywnie dzieli się swoim doświadczeniem i wiedzą na platformach Habr i Medium, publikując artykuły na aktualne tematy związane z programowaniem, w tym SwiftUI i Kotlin Multiplatform. Występuje na konferencjach i spotkaniach, takich jak Mobius, Ontico i Swift Heroes, a także zasiada w komitetach programowych takich wydarzeń jak CodeFest i Podlodka Android. Anna jest również ambasadorką inicjatyw Woman Techmakers i Usetech, podkreślając swoje zaangażowanie we wspieranie i rozwój kobiet w branży technologicznej.

Droga do rozwoju mobilnego

Anna, zainteresowana IT, zaczęła myśleć o swojej ścieżce kariery jeszcze w szkole. Po zdaniu specjalistycznych egzaminów zdała sobie sprawę, że ta dziedzina idealnie pasuje do jej zainteresowań. Po przeniesieniu się do klasy technicznej z dogłębną nauką matematyki i fizyki, Anna rozpoczęła studia na Politechnice Ałtajskiej, specjalizując się w bezpieczeństwie informacji. Ten wybór stał się fundamentem jej przyszłej kariery w dziedzinie bezpieczeństwa informacji, otwierając wiele możliwości rozwoju zawodowego.

Po ukończeniu studiów Anna poświęciła prawie rok na samokształcenie w dziedzinie programowania, ponieważ nie zdobyła wystarczającego doświadczenia praktycznego w tej placówce. Zaczęła od nauki testowania i różnych języków programowania, ostatecznie wybierając C#. Pomimo zaleceń skupienia się na Javie, Anna zdecydowała się skupić na innych obszarach, co pozwoliło jej poszerzyć umiejętności i wiedzę programistyczną.

Czując brak doświadczenia, Anna zaczęła szukać nowych możliwości i skupiła się na programowaniu mobilnym, które stało się jej priorytetem. Aktywnie studiowała różnorodne zasoby i metody nauki, w tym kursy online, samouczki wideo i dokumentację, co pomogło jej pogłębić wiedzę w tej dziedzinie. Programowanie mobilne otwiera wiele perspektyw zawodowych i pozwala tworzyć aplikacje, z których korzystają miliony użytkowników. Anna zdała sobie sprawę, że opanowanie technologii tworzenia aplikacji mobilnych, takich jak Swift na iOS i Kotlin na Androida, będzie ważnym krokiem w jej rozwoju zawodowym. Nie tylko studiowała programowanie, ale także zgłębiała projektowanie interfejsów użytkownika i podstawowe zasady UX, co pozwoliło jej tworzyć atrakcyjniejsze i bardziej funkcjonalne aplikacje.

  • Książki Flenova o C#, takie jak „C# Bible”, oraz podręczniki Albahariego pomogły jej opanować język w praktyce.
  • Kursy C# Georgija Mogelashviliego nie tylko nauczyły ją języka, ale także pokazały, jak dalej rozwijać się w programowaniu.

Głównym etapem jej edukacji były praktyczne kursy na platformie Coursera z zakresu programowania na Androida i iOS. Podczas kursu tworzyła pełnoprawne projekty, które pozwoliły jej zdobyć cenne doświadczenie w rozwiązywaniu rzeczywistych problemów i opanować kluczowe aspekty programowania mobilnego.

Anna rozpoczęła karierę w firmie IT jako testerka, ale szybko zdała sobie sprawę, że jej prawdziwą pasją jest tworzenie oprogramowania. Zdając sobie sprawę, że testowanie nie daje jej satysfakcji, postanowiła odejść z tego stanowiska i poświęcić się samokształceniu w dziedzinie programowania.

Podczas poszukiwań pracy Anna odkryła oferty pracy dla programistów aplikacji mobilnych, co okazało się doskonałą szansą na rozwój kariery. Po pomyślnym przejściu rozmów kwalifikacyjnych i zadań testowych, rozpoczęła pracę w tej firmie, która otworzyła jej nowe horyzonty w dziedzinie tworzenia aplikacji mobilnych.

Anna aktywnie angażowała się w swoją działalność zawodową, zdając sobie sprawę, że ciągłe uczenie się jest niezbędne do rozwoju kariery. Pomimo braku wolnego czasu, poświęca uwagę samorozwojowi, czytając książki o wzorcach projektowych i studiując język programowania Java. Pomaga jej to znacząco poprawić jakość kodu i podnosi kwalifikacje zawodowe.

Dziś Anna nadal rozwija swoje umiejętności w zakresie tworzenia aplikacji mobilnych, poznając nowoczesne technologie i dzieląc się swoim doświadczeniem z kolegami. Aktywnie uczestniczy w społeczności programistów, inspirując nowicjuszy do udanej kariery w branży informatycznej. Anna bierze również udział w różnych wydarzeniach, takich jak hackathony i konferencje, co pomaga jej dzielić się wiedzą i rozwijać kontakty zawodowe.

Prace i artykuły autorki są dostępne na znanych platformach, takich jak Medium i Habr. Publikuje tam przydatne materiały i wskazówki programistyczne, które pomogą zarówno początkującym, jak i doświadczonym programistom.

Droga do Full-Stack Development: Nauka iOS po Androidzie

Po pomyślnym opanowaniu programowania na Androida, postanowiłem pogłębić swoją wiedzę na temat iOS. Zapisałem się na kurs dla początkujących programistów iOS na platformie Coursera, gdzie poznałem podstawowe zasady i kluczowe koncepcje tworzenia aplikacji na iOS. Ta wiedza stała się fundamentem mojego dalszego rozwoju zawodowego w dziedzinie programowania mobilnego.

W tym czasie w pracy pojawiła się potrzeba wsparcia platformy iOS z powodu zwolnienia jednego z programistów. Była to doskonała okazja, aby wykorzystać moje nowo nabyte umiejętności. Praca z systemem iOS wymaga dogłębnej znajomości ekosystemu Apple, a także aktualnych technologii i frameworków. Aktywnie wykorzystywałem swoją wiedzę do rozwiązywania powierzonych mi problemów, co przyczyniło się do poprawy jakości produktu i zwiększenia wydajności zespołu.

Moje zainteresowania tworzeniem aplikacji mobilnych obejmują obie platformy: iOS i Androida. Wierzę, że współczesny programista aplikacji mobilnych, zwłaszcza jako lider zespołu, powinien być specjalistą full-stack, posiadającym wiedzę i umiejętności w obu systemach. Pozwala mu to skutecznie rozwiązywać problemy, takie jak wybór optymalnej architektury aplikacji i koordynacja pracy zespołu. Posiadanie multidyscyplinarnych umiejętności przyczynia się do wyższej jakości tworzenia aplikacji i lepszej współpracy między członkami zespołu, co ostatecznie prowadzi do wyższej jakości i większej funkcjonalności aplikacji mobilnych.

Zanurz się w świat wieloplatformowości Kotlina

Odkąd Kotlin został ogłoszony głównym językiem programowania dla Androida w 2017 roku i uzyskał wsparcie od Google, programiści aplikacji mobilnych aktywnie eksplorują jego możliwości. Wcześniej do tworzenia aplikacji na Androida używano Javy. Jednak wraz z pojawieniem się technologii takich jak Flutter w 2019 roku, zainteresowanie rozwiązaniami wieloplatformowymi znacznie wzrosło. Kotlin nadal jest popularnym wyborem do tworzenia aplikacji na Androida ze względu na swoją zwięzłość i nowoczesne funkcje, co czyni go atrakcyjnym zarówno dla początkujących, jak i doświadczonych programistów. Frameworki wieloplatformowe, takie jak Flutter, oferują nowe perspektywy, umożliwiając tworzenie aplikacji działających na wielu systemach operacyjnych, co dodatkowo rozwija rozwój aplikacji mobilnych. Programowanie wieloplatformowe zyskuje na popularności wśród programistów ze względu na możliwość oszczędzania czasu i zasobów. Takie podejście pozwala tworzyć aplikacje działające na wielu systemach operacyjnych przy minimalnym wysiłku. Jednak w przypadku złożonych projektów wymagających unikalnego interfejsu użytkownika i integracji czujników, programowanie natywne może okazać się bardziej odpowiednim rozwiązaniem. Dzięki doświadczeniu zarówno w programowaniu wieloplatformowym, jak i natywnym, jestem w stanie elastycznie dostosować się do wymagań różnych projektów, zapewniając ich pomyślną realizację.

Od 2020 roku aktywnie zgłębiam Kotlin Multiplatform, zauważając jego rosnącą popularność wśród programistów. Moje zainteresowanie wzbudziły pytania kolegów o moje doświadczenia z tą technologią. W tamtym czasie przeczytałem zaledwie kilka artykułów na AppTractor i GeekBrains, co skłoniło mnie do głębszego zapoznania się z jej możliwościami. Kotlin Multiplatform pozwala tworzyć aplikacje na wiele platform z wykorzystaniem współdzielonego kodu, co znacznie upraszcza proces tworzenia i zwiększa wydajność.

Postanowiłem zdobyć praktyczne doświadczenie programistyczne, tworząc pełnoprawną aplikację z wykorzystaniem Kotlin Multiplatform. Proces ten okazał się dość wymagający, zwłaszcza jeśli chodzi o implementację wielowątkowości. Jednak po trzech dniach intensywnej pracy udało mi się ukończyć projekt, który stał się podstawą mojego artykułu i materiałów szkoleniowych. Ta aplikacja nie tylko pogłębiła moją wiedzę o Kotlinie, ale także pomogła mi lepiej zrozumieć zasady wielowątkowości w programowaniu mobilnym.

Moje doświadczenie znacząco pogłębiło moją wiedzę na temat Kotlina Multiplatform i stało się podstawą do prowadzenia kursu na platformie Otus dla iOS. Podczas zajęć ze studentami prowadziłem otwarte lekcje i pokazy programowania na żywo z demonstracjami tworzenia działającej aplikacji z wykorzystaniem tej technologii. Dzięki temu byłem na bieżąco z najnowszymi trendami i nowościami w programowaniu na iOS.

Praca zdalna znacząco wpłynęła na moją karierę. Oszczędność czasu na dojazdach dała mi dodatkowe godziny na pracę nad osobistymi projektami i hobby, co odgrywa ważną rolę w życiu wielu specjalistów IT. Elastyczny harmonogram pozwolił mi skupić się na rozwijaniu umiejętności zawodowych i doskonaleniu kompetencji w mojej dziedzinie. Było to możliwe dzięki lepszemu zarządzaniu czasem, co ostatecznie pozytywnie wpłynęło na moją produktywność i satysfakcję z pracy.

W 2020 roku, gdy świat przystosował się do formatu online, miałem okazję wystąpić na kilku konferencjach, prezentując swoje doświadczenia i artykuły na temat Kotlina Multiplatform. Pozytywny odbiór moich materiałów przez publiczność zainspirował mnie do pogłębienia badań nad Kotlin Native – wersją Kotlina przeznaczoną na iOS. To doświadczenie było ważnym krokiem w moim rozwoju zawodowym i przyczyniło się do upowszechnienia wiedzy o Kotlinie jako uniwersalnym narzędziu do tworzenia oprogramowania wieloplatformowego.

Nauka i eksploracja nowych technologii to ważny aspekt rozwoju zawodowego. Chociaż proces ten wymaga czasu i wysiłku, jest on niezbędny dla udanej kariery. Nauczanie odgrywa kluczową rolę zarówno w utrzymywaniu mojej wiedzy na bieżąco, jak i w pomaganiu innym. W dynamicznie rozwijającym się środowisku technologicznym ważne jest ciągłe aktualizowanie swoich umiejętności i dzielenie się nimi z innymi, co sprzyja budowaniu społeczności zawodowej i ułatwia wymianę doświadczeń.

Droga do statusu Kotlin Multiplatform GDE

Status Google Developer Expert (GDE) to ważne potwierdzenie wiedzy i umiejętności w dziedzinie technologii. Moja droga do uzyskania tego statusu rozpoczęła się od oferty od Ekateriny Vinnichenko, regionalnej menedżerki Google. Zachęciła mnie do przygotowania się do rozmowy kwalifikacyjnej, która stała się dla mnie kluczowym momentem i otworzyła nowe horyzonty w dziedzinie Kotlin Multiplatform. To doświadczenie nie tylko pogłębiło moją wiedzę, ale także pozwoliło mi stać się częścią społeczności ekspertów, dzielić się doświadczeniami i uczestniczyć w rozwoju technologii na poziomie międzynarodowym.

W tamtym czasie w Rosji nie było ekspertów w tej dziedzinie, ponieważ wielu z nich wyemigrowało. Postanowiłem skorzystać z tej okazji i zgodziłem się na szkolenie. Ekaterina przedstawiła mnie Laurze Morinigo, ekspertce Firebase z Londynu, która została moim mentorem. Chociaż Laura nie specjalizowała się w Kotlinie Multiplatform, jej rady okazały się nieocenione i znacząco pomogły mi w nauce.

Laura poleciła mi założenie bloga na Medium i aktywne dzielenie się przemyśleniami na temat programowania na Twitterze. Ta decyzja znacznie poprawiła moje umiejętności komunikacyjne i pomogła mi dotrzeć do nowej publiczności. Zacząłem również uczestniczyć w międzynarodowych spotkaniach, takich jak Android Worldwide Meetup, co stało się kluczowym krokiem w moim rozwoju zawodowym. Publikowanie artykułów i występowanie na takich wydarzeniach nie tylko wzmocniło moją wiedzę, ale także pozwoliło mi nawiązać cenne kontakty w branży.

W trakcie przygotowań pracowałem również nad własnymi projektami i wygłaszałem prelekcje. W 2014 roku wygłosiłem prelekcję na konferencji Mobius na temat wstrzykiwania zależności w Kotlinie. Ten temat wymaga ostrożnego podejścia do współdzielonego kodu używanego na różnych platformach. W rezultacie mojej pracy stworzyłem bibliotekę di-multiplatform-lib, która jest teraz dostępna na platformie Google Dev Library. Biblioteka ta upraszcza korzystanie z mechanizmu wstrzykiwania zależności w Kotlinie, czyniąc ją użyteczną dla programistów pracujących z aplikacjami wieloplatformowymi.

Status GDE (Google Developer Expert) nie jest stały. Google co roku weryfikuje kwalifikacje ekspertów i jeśli nie aktualizują oni swojej wiedzy lub nie angażują się w działania społeczności, mogą utracić ten status. Podkreśla to wagę ciągłego uczenia się i aktywnego uczestnictwa w społeczności profesjonalnych programistów. Aktualizowanie wiedzy i interakcja z kolegami nie tylko pomagają utrzymać status, ale także przyczyniają się do rozwoju osobistego i zawodowego.

Dołączyłam do Women Techmakers i pełniłam funkcję mentorki w Women Developer Academy. To doświadczenie było ważnym kamieniem milowym w moim rozwoju zawodowym, ponieważ wspierałam inne kobiety w branży technologicznej, pomagając im rozwijać umiejętności wystąpień publicznych i przygotowywać skuteczne materiały.

Przygotowując się do rozmowy kwalifikacyjnej, wzięłam udział w programie Road to GDE. Ta inicjatywa daje kandydatkom możliwość skorzystania ze wskazówek ekspertów Google, co znacznie poprawia jakość ich aplikacji i przygotowania do rozmowy kwalifikacyjnej. Moja druga mentorka, Nicola Corti, odegrała kluczową rolę w moim szkoleniu, zapewniając cenne wsparcie i wskazówki w trakcie tego ważnego procesu.

Byłam na dwóch rozmowach kwalifikacyjnych na stanowisko programistki. Pierwsza odbyła się z Johnem O'Reilly, ekspertem technicznym i jednym z głównych programistów języka Kotlin. Druga rozmowa odbyła się z Muratem Yenerem, który potwierdził moją wiedzę i umiejętności w dziedzinie programowania. Niedługo potem otrzymałem długo oczekiwanego e-maila z gratulacjami z okazji zatrudnienia.

Sukces na rozmowie kwalifikacyjnej zależy nie tylko od wiedzy technicznej, ale także od umiejętności skutecznego zaprezentowania swoich osiągnięć. Kandydaci z krajów WNP często napotykają barierę językową, która może stanowić istotną przeszkodę. Ważne jest nie tylko wykazanie się umiejętnościami, ale także pewna siebie komunikacja w języku rozmowy kwalifikacyjnej, aby skutecznie przekazać swoje sukcesy i doświadczenie. Przygotowanie do rozmowy kwalifikacyjnej obejmuje ćwiczenia z mówienia i naukę terminologii, co pomoże przezwyciężyć trudności językowe i zwiększyć szanse na zatrudnienie.

Staram się rozwijać jako ekspert w dziedzinie Kotlina, aktywnie uczestnicząc w konferencjach i występując na spotkaniach. Moim celem jest nie tylko pogłębienie wiedzy, ale także zostanie ekspertem od Androida, ponieważ Android był moją pierwszą pasją w świecie programowania. Zamierzam dzielić się swoimi osiągnięciami i doświadczeniem ze społecznością, co pomoże mi nie tylko rozwijać umiejętności, ale także przyczynić się do rozwoju programowania na Androida.

Status GDE to zarówno uznanie, jak i odpowiedzialność, która obejmuje konieczność dzielenia się wiedzą, prowadzenia kursów, pisania artykułów i proponowania innowacyjnych rozwiązań w dziedzinie technologii. Jestem dumny, że jestem częścią społeczności programistów i staram się przyczyniać do wymiany doświadczeń i pomysłów. Moim celem jest inspirowanie i edukowanie innych, przyczyniając się do rozwoju technologii.

Programista Pythona: 3 projekty na udany początek kariery

Chcesz zostać programistą Pythona? Dowiedz się, jak 3 projekty mogą pomóc Ci rozwinąć karierę dzięki wsparciu ekspertów!

Dowiedz się więcej