inhire.ioBlogPraca w ITO ścieżce rozwoju Flutter Developera oraz kulturze wspierającej rozwój w LeanCode

O ścieżce rozwoju Flutter Developera oraz kulturze wspierającej rozwój w LeanCode

Praca w IT
15/11/2021

LeanCode to software house z Warszawy, który mocno angażuje się w tworzenie społeczności związanej z Flutterem i prawdopodobnie ma największy Flutterowy zespół w Polsce. Jakie możliwości daje Fluttter? Czy to przyszłościowa technologia? O tym między innymi w rozmowie z Mateuszem Wojtczakiem, Flutter Mobile Developerem i Team Leaderem gildii Mobile w LeanCode.

Mateusz, jak to się stało, że zacząłeś swoją przygodę z Flutterem?

Zupełnie przez przypadek. Jakoś w lutym 2018 ktoś z zespołu podesłał reszcie artykuł (z dobreprogramy.pl) o pierwszej wersji beta nowego cross-platform mobile framework od Google. Byliśmy zainteresowani, bo lubimy sprawdzać różne technologie. Wtedy też bardzo eksperymentowaliśmy z docelowym stackiem na mobilce, przechodziliśmy przez natywne rozwiązania: Xamarin, Xamarin.Forms oraz React Native

Stwierdziliśmy, że spróbujemy zrobić w tym jakiś projekt. Klient się zgodził i zaczęliśmy naszą przygodę z Flutterem. Był to dla nas swego rodzaju PoC, ale z punktu widzenia technologii. Potem okazało się, że projekt wypalił i uznaliśmy, że wchodzimy we Fluttera na 100%.

Jak wyglądała Twoja droga do Team Leadera?

Wydaje mi się, że dość naturalnie. Kiedy powstawało LeanCode nie było w ogóle mobile teamu, tak naprawdę byłem tylko ja i kolega, z którym uczyliśmy się natywnych technologii. Musieliśmy pomóc z rozwojem istniejącej aplikacji mobilnej na rynek foodtech. Potem zaczęliśmy robić tego coraz więcej i więcej, team zaczynał się powiększać, w firmie nie było jeszcze jako takich “gildii”. 

Dopiero, gdy zespół się powiększył, potrzebowaliśmy seniora z doświadczeniem w prowadzeniu teamu. Dołączył do nas Rafał, który powiększył nasz dział mobile do prawie 10 osób, a kiedy odchodził, przekazał mi wiedzę i wsparł mnie w okresie przejściowym, żebym mógł naturalnie przejąć po nim gildię mobilną.

Jakie są wyzwania na tym stanowisku?

Przede wszystkim coraz mniej się niestety programuje. Trzeba nauczyć się organizacji dnia i zmieniać często kontekst pracy – to jest bardzo trudne (przynajmniej dla mnie) i męczące, zwłaszcza jeśli jest dużo projektów, rekrutacji, researchy. Jest się odpowiedzialnym za zespół, więc czasem trzeba po prostu wskoczyć do jakiegoś projektu na moment i rozwiązać problem. 
Kolejną kwestią jest fakt, że w LeanCode liderzy gildii aktywnie uczestniczą w planowaniu wizji firmy i spotykają się na bieżąco z zarządem, żeby wspólnie rozwijać firmę. To też zajmuje sporo czasu – w kontekście braku czasu na programowanie 🙂

Co możesz powiedzieć o swoim zespole?

Nasza gildia mobile na tę chwilę liczy  20 osób. Wszyscy pracują na co dzień we Flutterze. Oczywiście jestem bardzo zadowolony z gildii. Ciągle staramy się wymieniać wiedzą, tak, aby osoba, która miała jakiś problem w projekcie A, mogła pomóc w podobnej sytuacji osobie z projektu B. Każdy wybiera swoje miejsce: to co lubi robić i gdzie ma ochotę się rozwijać. Niektórzy lubią pisać artykuły, inni robią research – żeby być cały czas na bieżąco, jeszcze inni pomagają przy eventach, a  przede wszystkim są też tacy, którzy po prostu uwielbiają pisać kod i rozwijać nasze paczki. 🙂 

Cały czas rekrutujemy, ale LeanCode nie planuje szybko stać się dużą firmą w kontekście liczby pracowników. Bardzo chcemy, żeby zespół był zgrany i spójny. Nie chodzi tylko o umiejętności. Sprawdzanie ludzi technicznie jest czymś, co już dawno zostało wynalezione. 

Nam zależy na tym, aby osoby, z którymi pracujemy były po prostu ludźmi, z którymi mamy ochotę robić wielkie rzeczy i spędzać czas 8 godzin dziennie, wymyślając kolejne rozwiązania. Dlatego w proces rekrutacji bezpośrednio są zaangażowani założyciele – nie można u nas zostać zatrudnionym bez rozmowy z nimi. 

Nadal jesteśmy firmą, w której wszyscy się znają i chcemy, żeby tak pozostało. To dotyczy trybu pracy – zachęcamy ludzi do pracy hybrydowej. Z każdym indywidualnie dogadujemy się tak, żeby wszyscy byli zadowoleni, ale nie ukrywamy, że uwielbiamy tradycyjne spotkania, takie przy tablicy w salce na Służewie, gdzie możemy po prostu zrobić burzę mózgów na temat konkretnego problemu, a potem zakończyć to grą w piłkarzyki.

Czy Twoim zdaniem Flutter to przyszłościowa technologia?

Różnie można odpowiedzieć na to pytanie. Według mnie w kontekście najbliższych kilku lat Flutter jest totalnie gorącym tematem w mobilkach i tu raczej nic się nie zmieni. Czy będzie tak bardzo popularny za 5-7 lat? Nie wiem – pewnie nie, bo raczej nie ma w IT takiej technologii, która jest “nowoczesna” przez tyle czasu. Jestem zdania, że za jakiś czas powstanie kolejne “najnowocześniejsze” rozwiązanie, a potem jeszcze kolejne. Dlatego my nie stawiamy na Fluttera, tylko na ludzi, którzy są specjalistami we Flutterze, ale jeśli trzeba będzie przesiąść się do innego auta, nadal będą umieć prowadzić 🙂

Jak wygląda talent pool, jeśli chodzi o specjalistów Flutter w Polsce?

Hmm, dobre pytanie. Wydaje mi się, że Polska jest bardzo mocna we Flutterze. Myślę, że to też dlatego, że polscy programiści wypadają bardzo dobrze w skali świata. Flutter jest frameworkiem do aplikacji klienckich – w zasadzie powstał dosłownie jako UI framework – to sprawia, że jest bardzo nośny wśród freelancerów.

Dlatego bardzo dużo talentów Flutterowych nie pracuje w firmach tylko dla firm – jest na to sporo miejsca, ponieważ Flutter jest idealny do wszelkiej maści prototypów i PoC, do sprawdzenia czy pomysł na startup ma sens, do przetarcia szlaków. We wszystkich tych zastosowaniach nie potrzeba zespołu 10 developerów Flutter, którzy postawią całą maszynerię dla klienta.

Jakimi projektami w LeanCode w oparciu o Flutter możecie się pochwalić?

Myślę, że jest bardzo mało firm w Polsce, które mogą się pochwalić tyloma projektami Flutterowymi co LeanCode. Jest to też spowodowane tym, że weszliśmy w ten rynek wcześnie i robimy nieustannie Fluttera od ponad 3 lat. Robiliśmy wszelkiej maści integracje i dziwności we Flutterze. Mieliśmy apkę do aukcji, gdzie wszystko musiało dziać się dosłownie “na żywo”. Integrowaliśmy się z wieloma providerami płatności, którzy zazwyczaj nie dostarczali swoich rozwiązań bezpośrednio dla Fluttera. “Hackowaliśmy” na różne sposoby testy automatyczne, żeby móc zapewnić naszej gildii QA doświadczenie testowania na poziomie narzędzi natywnych. 


Teraz pracujemy m.in. nad dużym projektem z branży finansowej – okazało się, że projekt w którym równolegle pracuje 18 Flutterowców w różnych zespołach trzeba poukładać zupełnie w inny sposób, zwłaszcza w tej domenie. Przypominam sobie jeszcze pewien projekt dla klienta z Azji, gdzie prototypowaliśmy screensharing ekranu smartfona w apce Flutterowej – to też było spore wyzwanie. Podsumowując, dużo dziwnych i niecodziennych rzeczy, ale nasza gildia mobile chyba lubi takie projekty najbardziej i nie dziwię się 🙂

Jakie są możliwości rozwoju pod kątem Fluttera w Waszej firmie?

Tak jak już wspominałem, w LeanCode każdy sam sobie wybiera ścieżkę rozwoju. Mamy też osoby cross-gildiowe, które udzielają się w wielu niezależnych miejscach. My możemy pomóc nakierować kogoś, wskazać nasze rekomendacje albo po prostu zapewnić wszystko co potrzeba. 

Jeśli chodzi o samą wiedzę stricte na temat Fluttera, to tutaj jest dość prosta ścieżka: kiedy developer do nas przychodzi dostaje na start mentora niezależnie od poziomu, ponieważ tu nie chodzi o to, żeby ktoś “nadgonił” – w żadnym wypadku. Chodzi o to, żeby nowa osoba zobaczyła jak działa się u nas, jaki my preferujemy styl i dlaczego, jaką  mamy politykę w kwestiach technicznych oraz projektowych. Taka osoba wdraża się w projekt oraz stack technologiczny. 

Najwięcej uczymy się w projektach, ponieważ dzięki temu możemy pozyskiwać wiedzę od innych osób na codziennych spotkaniach, pair programmingu czy po prostu peer code review. Poza tym, w naszej firmie istnieje coś co nazywa się LeanCode’owe Spotkania Dokształcające – inicjatywa, która powstała oddolnie z inicjatywy kilku devów. Tam każdy może zapisać się na slot, gdzie podzieli się tym, co ostatnio robił. To jest totalnie cross-gildiowe, bo ludzie mimo wszystko nie chcą wciąż słuchać o tym co robią codziennie, wtedy byśmy się nie rozwijali. 

Dzięki temu Mobile Developer może posłuchać o tym, jakie są nowinki na backendzie, a np. frontendowiec może dowiedzieć się więcej o UX. To sprawia, że każdy mniej więcej wie co się u nas dzieje i ogólnie w świecie technologii. Bardzo pomaga nam to wyrobić sobie neutralny punkt widzenia na pewne sprawy techniczne, które można rozwiązać na naprawdę mnóstwo sposobów, z których kilka będzie akurat bardziej pasować, a inne mniej. 

Wbrew pozorom najważniejszy jest warsztat techniczny, który nie dotyczy konkretnej technologii czy gildii, tylko ogólnie tworzenia oprogramowania. Dlatego w LeanCode często osoba z backendu może szkolić osobę z mobilki w projekcie. Jeśli ktoś ma wyczucie jak robić oprogramowanie, to będzie wiedział jak je robić w każdym stacku. 

Poza tym, panuje u nas kultura pomagania sobie na gildiowych kanałach na Slacku. Każdy ma jakiś swój konik: jeśli nie wiem, jak działa w środku jakiś Flutterowy widget, to na pewno Albert zna go na pamięć. Jak będę mieć problem z In-App Purchases, to pewnie odpisze mi Robert. Problem ze streamingiem audio? Wtedy spytam Marysię. Po krótkim pobycie w firmie i zapoznaniu się z ludźmi, każdy już wie, że zawsze jest ktoś, kto pomoże nam “rozwalić” jakiś temat razem 🙂

Jako LeanCode współtworzycie wydarzenie Flutter Europe oraz jesteście gospodarzami wydarzenia Flutter Warsaw. Jak i czy w ogóle Wasi developerzy angażują się w te wydarzenia?

Tak, tutaj też chciałbym przypomnieć to, co mówiłem o rozwoju – jeśli ktoś chce się angażować we Flutter Warsaw i inne wydarzenia, to jak najbardziej jesteśmy na tak, ale bardzo nie lubimy zmuszać do tego typu rzeczy, bo wtedy wszystko traci sens. My działamy z zajawki, a nie z przymusu. Wracając do pytania – część devów lubi pracę z community, ponieważ sami czują się jego częścią i po prostu uważają, że fajnie jest coś porobić przy jednym z największych meetupów Flutter na świecie. 🙂 

Developerzy angażują się też w różne formy pracy niezwiązanej z pisaniem kodu, np. niektórzy pomagają pisząc artykuły i tworzą treści dla LeanCode. Inni organizują warsztaty (np. Flutter) dla osób z firmy i spoza niej – jesteśmy też zaangażowani we współpracę z Politechniką Warszawską, tworzymy praktyki LeanCode i uczestniczymy w przygotowaniu kursów online. 

Jest też grupa osób, która bardzo lubi hackathony i chciałaby je współorganizować. Na samym Flutter Europe też mieliśmy stoisko LeanCode, gdzie sporo osób z firmy pomagało aktywować uczestników i na przykład zrobiliśmy na szybko Flutter Quiz, który przyciągnął kilkadziesiąt osób pod nasz booth. To jest wszystko fajne, jeśli jest zgodne z kulturą firmy, czyli “po prostu róbmy razem fajne rzeczy”. 🙂


Jeśli też chcesz tak pracować, to zachęcam do dołączania do naszego zespołu w LeanCode: https://inhire.io/pracodawca/leancode/oferty-pracy