Szukasz najlepszych programistów aplikacji mobilnych? Znajdziesz ich w kilka kliknięć.

10 lekcji od twórców znanych aplikacji mobilnych

5 sie 20206 min czytania

Michał Rejman

Chief Marketing Officer w Ideamotive. Uzależniony od podróży, orędownik pracy zdalnej.

Jedyną stałą w świecie wytwarzania oprogramowania jest zmiana. Dlatego eksperci od inżynierii oprogramowania muszą regularnie podnosić kompetencje, by nadążać w szybkim środowisku, w którym wszystko zmienia się w zawrotnym tempie. 

Z naszego doświadczenia w tworzeniu aplikacji mobilnychwynika, że jest wiele sposobów, by utrzymać formę i rozwijać swoją pasję jako profesjonalista. Jednym z nich jest zbieranie spostrzeżeń i perspektyw najlepszych twórców aplikacji mobilnych na świecie.

Nauka od najlepszych pomaga lepiej tworzyć aplikacje mobilne

„Doświadczenie jest mistrzem, nawet gdy nie jest nasze własne”. Te słowa są prawdziwe w każdym kontekście. Niezależnie od tego, czy jesteś weteranem tworzenia aplikacji mobilnych, czy nowicjuszem, który wciąż buduje podstawy, nauka na cudzych doświadczeniach uchroni Cię przed błędami, które ktoś już popełnił.

 

„Doświadczenie jest mistrzem, nawet gdy nie jest nasze własne”. 

 

Zbierając wnioski od branżowych mentorów, wypracujesz zestaw standardów i praktyk, który będzie Twoim drogowskazem na przyszłość. Dzięki inspirującym spostrzeżeniom i historiom przewidzisz i ominiesz też pułapki projektowe, poprawiając efekty swojej pracy. Wreszcie lekcje, którymi dzielą się autorytety mobile'u, oszczędzą Ci szukania tego, co działa, a przy okazji ogrom czasu.

 

Podsumowując, oto, co zyskasz, ucząc się od najlepszych:

  • Unikniesz typowych pułapek
  • Przyspieszysz dostarczanie aplikacji mobilnych
  • Usuniesz ograniczenia projektu
  • Poprawisz jakość i użyteczność oprogramowania
  • Wypracujesz standardy, które ułatwią dalszą pracę

10 lekcji od najlepszych twórców aplikacji mobilnych

Wiemy już, jak cudze doświadczenie może podpowiedzieć nam, jak iść naprzód sprawniej. Przejdźmy więc do rzeczy i zobaczmy, czego możemy się nauczyć od znanych na świecie programistów, architektów i projektantów.

Lekcja 1: Nie ma innowacji bez eksperymentów

Kto: Brian Lovin @brian_lovin | Projektant UX i produktu. Obecnie projektuje natywne aplikacje mobilne w GitHubie, wcześniej w Facebooku i Bufferze.

 

Planowanie to niezbędny element tworzenia aplikacji mobilnych. Jak jednak sugeruje powyższy tweet, świetne funkcje nie zawsze wynikają ze skrupulatnego projektu. Czasem powstają w eksperymentach, w których programiści i projektanci po prostu stosują różne koncepcje i pomysły, próbując ustalić, co sprawdza się najlepiej.

 

Wniosek? Jako twórca aplikacji mobilnych zawsze zostawiaj trochę miejsca na zabawę i eksperyment. Iteracyjne podejścia projektowe, jak agile, dają świetne warunki, by improwizować oraz sprawdzać różne pomysły projektowe i programistyczne, zanim postawisz na jeden. 

Lekcja 2: Celuj w świetne, nie w idealne

Kto: Nick Craver @Nick_Craver | Architecture lead i programista w Stack Exchange.

 

 

 

Jak powiedział kiedyś Wolter: „Lepsze jest wrogiem dobrego”. Albo, jak ujmują to współcześni mówcy motywacyjni: „Idealne jest wrogiem skończonego”. Perfekcjonizm to przywara wielu programistów. Jeśli i Ty go masz, spróbuj odpuścić. Inaczej w szybkim środowisku nie da się odnieść sukcesu.

 

Ślepa pogoń za doskonałością Cię hamuje. Gdy bez końca dopracowujesz krój pisma albo szukasz idealnego rozmiaru przycisku, inni już wypuszczają swoje niedoskonałe aplikacje i budują grono użytkowników. Większość firm napędzanych innowacją stale zmienia cele i specyfikacje produktu i potrzebuje inżynierów, którzy potrafią płynąć z prądem i szybko przerabiać istniejący kod pod bieżące potrzeby. ZAWSZE jest coś do poprawienia, dostrojenia czy przebudowy. Od tego są aktualizacje. 

Lekcja 3: Testowanie nigdy się nie kończy

Kto: Tim Sweeney @TimSweeneyEpic | Potentat gamingowy, założyciel Epic Games.

 

Choć bezwzględna pogoń za perfekcją prowadzi w ślepy zaułek (czego nauczyliśmy się już od Nicka Cavera), spoczęcie na laurach po premierze aplikacji jest równie śmiertelną pułapką. Zapewnienie jakości to bowiem proces ciągły, którego nigdy nie można uznać za w 100% zakończony. 

 

Wypuszczasz nową funkcję? Przetestuj ją! Dodajesz obsługę nowego urządzenia albo systemu? Przetestuj! Nigdy nie zakładaj, że coś zadziała. Za każdym razem, gdy wprowadzasz aktualizację - przebudowany interfejs, nowy sekretny poziom w grze czy drobną łatkę bezpieczeństwa - przetestuj ją metodą A/B na mniejszej grupie, zanim udostępnisz ją szerzej. 

 

Brzmi wyczerpująco? Nikt nie mówił, że tworzenie aplikacji mobilnych jest łatwe. (A jeśli wolisz zostawić to komuś innemu, chętnie się tym zajmiemy!)

Lekcja 4: Projektuj z myślą o użytkowniku. Zawsze.

Kto: Chet Haase @chethaase | Inżynier oprogramowania w Androidzie / komik.

 

Spójrzmy prawdzie w oczy: większość aplikacji mobilnych jest skazana na porażkę. Na bezlitosnym rynku aplikacji rezygnacje są częste, a firmy z trudem utrzymują zaangażowanie użytkowników. Według Statista, 71% użytkowników mobilnych usuwa aplikację w ciągu trzech miesięcy od instalacji. Co ciekawe, najczęstsze przyczyny porażek aplikacji mobilnych krążą wokół użytkowników końcowych: to m.in. niedostateczne badania rynku, słabe zrozumienie kluczowych odbiorców, kiepski UX/UI i fatalny onboarding. 

 

Wydawałoby się, że w 2020 roku KAŻDY rozumie, jak kluczowe jest stawianie użytkownika na pierwszym miejscu. Jak jednak pokazuje powyższy zabawny tweet jednego z najbardziej znanych twórców aplikacji mobilnych w USA, wielu programistów ma jeszcze sporo do zrobienia, zanim opanują podejście skoncentrowane na użytkowniku. Do tego czasu musimy mierzyć się z czymś takim:

  albo takim

 

Jeśli jeszcze tego nie zrobiłeś, uczyń „podejście user-first” swoją mantrą. Zacznij od poznania  dobrych praktyk UX w tworzeniu aplikacji mobilnych, a potem odśwież podstawowe umiejętności UX, by wreszcie zacząć myśleć jak użytkownik.

Lekcja 5: Zaprzyjaźnij się z tworzeniem wieloplatformowym

Kto: Mike Grabowski @grabbou | Współzałożyciel i CTO w Callstack.com oraz główny kontrybutor React Native.

 

Wiemy, to trudne. Większość programistów Androida i programistów mobilnych iOS przysięga na swoje platformy, a sama myśl o zostaniu programistą wieloplatformowym przyprawia ich o dreszcze. 

 

Prawda jest jednak taka, że przy liczbie pobrań aplikacji mobilnych przekraczającej 204 miliardy w zeszłym rokukonkurencja na rynku aplikacji mobilnych jest ostra. Wygrywa ten, kto wypuści aplikację pierwszy, a tworzenie wieloplatformowe daje firmom przewagę w sięganiu po potencjał rynku Android + iOS w rekordowym czasie. Podejście „napisz raz, uruchamiaj wszędzie” ma swoje pułapki, ale korzyści - szybkie prace, ponowne użycie kodu i spójne doświadczenie na obu platformach - czynią z niego znakomity wybór.

Lekcja 6: Nie ma rozwiązań uniwersalnych

Kto: Rebecca Franks @riggaroo | Za dnia senior Android engineer (Over, GoDaddy, Pluralsight), nocą piekarz.

 

Żadne dwie aplikacje nie są takie same. Każda służy własnym celom, trafia do konkretnych odbiorców i różni się złożonością oraz rozmiarem od rozwiązań konkurencji. Nie zakładaj więc, że to, co działa w jednym projekcie, od razu da wartość w innym. Uważaj na nadmierne uzależnienie od modnych trendów i nie przyjmuj ich bezrefleksyjnie - zawsze sprawdzaj inne opcje i oceniaj, co „ma sens”, jak mówi Rebecca.

Lekcja 7: Dobierz właściwe narzędzia do zadania

Kto: Danny Preussler @PreusslerBerlin | Programista Androida i Kotlina w Soundcloud, wcześniej tworzył aplikacje mobilne dla firm takich jak Viacom, Groupon, eBay czy Alcatel.

 

Lekcja Danny'ego idzie mniej więcej po tej samej linii co powyższa rada Rebekki. Wszyscy programiści mają biblioteki i frameworki, które uwielbiają. Naginanie każdego projektu tak, by do nich pasował, to jednak prawie nigdy nie jest dobry pomysł. 

 

To narzędzie ma pasować do zadania, a nie odwrotnie, więc musisz się przyłożyć i wybrać zestaw najlepiej odpowiadający potrzebom projektu - nawet wbrew własnym upodobaniom. Inaczej możesz spędzić więcej czasu na szukaniu obejść niż na pisaniu kodu.

Lekcja 8: Nie ulegaj presji „szybkich łatek”

Kto: Pierre-Yves Ricau @Piwai | Android engineer w Square. Autor LeakCanary i AndroidAnnotations.

 

 

Ścigany napiętymi terminami, słabo zdefiniowanymi wymaganiami i puchnącym zakresem projektu, łatwo ulec pokusie tymczasowych łatek i szybkich obejść. Ilekroć myślisz o rozwiązaniu na taśmę klejącą, przypomnij sobie powyższy tweet Pierre'a-Yves'a Ricau, uznanego programisty Androida

 

Nie znaczy to oczywiście, że wszystkie szybkie łatki są złe. Czasem szybkie działanie jest ważniejsze niż działanie „poprawne”. Gdy jednak w grę wchodzi dokładność, niezawodność czy bezpieczeństwo, nie warto ryzykować wywrócenia całej aplikacji plastrem. W takich przypadkach lepiej przesunąć wydanie i poświęcić więcej czasu na trwałe rozwiązanie. 

Lekcja 9: Uważaj na język!

Kto: Lisa Wray @lisawrayz | Inżynierka w Facebooku (wcześniej Google, Genius, NYTimes) oraz programistka Androida, prelegentka i orędowniczka.

 

W wytwarzaniu oprogramowania nazewnictwo jest wszystkim. Męcząco długie, pozbawione znaczenia albo przekombinowane nazwy sprawią, że nawet najczytelniejszy i najłatwiejszy w utrzymaniu kod zacznie śmierdzieć. O dobrych konwencjach nazewniczych w mobile'u napisano tomy, a i Android, i iOS wspierają programistów wytycznymi. Mimo to wciąż natykamy się na potworki takie jak:

  • getSupportFragmentManager().beginTransaction().setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN) 
  • ContactsContract.Contacts.CONTENT_TYPE
  • TextViewCompat.setAutoSizeTextTypeUniformWithConfiguration()

Rozumiemy, że czasem nie masz czasu, by studiować standardy i praktyki nazewnictwa. W takich przypadkach spróbuj chociaż trzymać się prostych zasad: niech nazwa będzie krótka i łatwa do wymówienia, niech brzmi naturalnie i niech jasno mówi, co dana klasa, metoda czy zmienna robi.

Lekcja 10: Tworzenie aplikacji mobilnych to nauka na całe życie

Kto: Ayaka Nonaka @ayanonagon | Inżynierka iOS w Apple, wcześniej Venmo i Workflow.

 

Ostatnia lekcja od znanej programistki iOS w Apple, Ayaki Nonaki, wraca do naszego pierwszego zdania: twórcy oprogramowania mobilnego uczą się całe życie. 

 

Jeśli poważnie traktujesz swój zawód, nie możesz sobie odpuścić. Tworzenie oprogramowania mobilnego to złożona, wciąż zmieniająca się dziedzina, która wymaga, byś stale trzymał rękę na pulsie i podnosił kompetencje. Jeśli stracisz to palące pragnienie uczenia się nowych rzeczy i wychodzenia poza strefę komfortu, może to być sygnał, że warto poszukać innej pracy.

Najważniejszy wniosek

Nauka na porażkach to nieunikniona część tworzenia aplikacji mobilnych. Programiści z pewnością popełniają błędy. Pewnych da się jednak uniknąć - i warto - stosując się do rad bardziej doświadczonych kolegów. Przyswajając te lekcje, twórcy aplikacji mobilnych zyskują odwagę, by brać się za trudniejsze zadania i projekty, i szybciej rozwijają swoje kompetencje.

 


Chcesz zatrudnić doświadczonych twórców aplikacji mobilnych? Porozmawiaj z nami! Mamy wyłączny dostęp do zweryfikowanej sieci wysoko wykwalifikowanych talentów, by dać Ci umiejętności i wiedzę idealnie dopasowane do Twojej technologii, branży i kultury firmy. 

Michał Rejman

Michał jest weteranem marketingu cyfrowego z nastawieniem growth hackera i ponad 10-letnim doświadczeniem. Jego celem jest tworzenie wysokiej jakości treści technologicznych, ze szczególnym uwzględnieniem Reacta i Ruby on Rails. Podróżnik, wspinacz, orędownik pracy zdalnej.

Zobacz wszystkie wpisy autora

Szukasz utalentowanych programistów, którzy zbudują albo przeskalują Twój produkt mobilny?

Nasi zweryfikowani eksperci są gotowi dołączyć do Twojego zespołu.

Zatrudnij programistów mobilnych
Newsletter 9-1
Newsletter Ideamotive
Twój dwutygodniowy przegląd najgorętszych newsów technologicznych