Wiodący programista Flutter
O firmie i projekcie:
Opracowujemy wielobrandową aplikację mobilną do sportu — platformę do przeglądania harmonogramów i wyników meczów, statystyk, prognoz, quizów i ofert partnerskich (500+ tys. aktywnych użytkowników). Aplikacja działa na Flutter (Dart SDK >=3.2.4), wspiera Android (oba brandy) i iOS. Architektura oparta na funkcjach z wykorzystaniem BLoC do zarządzania stanem, GoRouter do nawigacji i Sqflite do lokalnej bazy danych. Projekt obejmuje integrację z Firebase (analityka, Crashlytics, Remote Config), OneSignal (powiadomienia push), REST API oraz logikę wielobrandową poprzez flagi i skrypty build.
Rola i obowiązki:
Szukamy doświadczonego programisty Flutter. Kandydat będzie pracował samodzielnie oraz w parze z innym programistą nad funkcjami, refaktoryzacją i wsparciem kodu, w tym:
- Opracowanie nowych funkcji zgodnie z architekturą (BLoC, warstwy danych, UI).
- Integracja z API (przez ApiManager), lokalną bazą danych i zewnętrznymi usługami (Firebase, OneSignal).
- Wsparcie dla wielobrandowego builda i wydań Android/iOS.
- Refaktoryzacja i optymalizacja istniejącego kodu (zmniejszenie duplikacji modeli, poprawa UI-kitu).
- Udział w przeglądach kodu, testowaniu i dokumentacji.
Wymagania:
- Doświadczenie w komercyjnej produkcji na Flutter od 3+ lat.
- Głębokie zrozumienie Dart, null-safety i programowania asynchronicznego.
- Doświadczenie z zarządzaniem stanem (BLoC, Provider) i wzorcami architektonicznymi (opartymi na funkcjach, warstwowymi).
- Znajomość interakcji sieciowej (REST API, HttpClient, logika retry) oraz lokalnych baz danych (Sqflite).
- Doświadczenie w integracji z Firebase (Core, Analytics, Crashlytics, Remote Config), powiadomieniami push (OneSignal) oraz platformami natywnymi (Android/iOS).
- Znajomość GoRouter do nawigacji, easy_localization do wielojęzyczności i pracy z pakietami (video_cast, better_player_plus i inne).
- Zrozumienie wieloplatformowego rozwoju, procesów build i skryptów (bash do budowy brandów).
- Umiejętności miękkie: wysoka odpowiedzialność, samodzielność i inicjatywa — kandydat powinien podejmować zadania, proponować ulepszenia i pracować w zespole.
Atutem będzie:
- Doświadczenie w pisaniu i edytowaniu natywnych wtyczek dla Flutter w Kotlinie/Swifcie.
- Doświadczenie z odtwarzaczami wideo (better_player_plus), castingiem (video_cast) i treściami multimedialnymi.
- Znajomość CI/CD, automatyzacji buildów i pracy z Gitem.
- Doświadczenie w refaktoryzacji kodu legacy i optymalizacji wydajności.
Warunki:
Międzynarodowy zespół, komunikacja w języku rosyjskim.
Bezpośredni wpływ na jakość produktu i możliwość promowania swoich pomysłów, dużo dyskusji w zespole i feedback od odbiorców.
Przyjemna i przyjazna atmosfera w zespole.
Praca zdalna.
Standardowy dzień roboczy:
od 10:00 do 18:00
Obowiązkowe godziny obecności:
od 12:00 do 16:00
Wynagrodzenie na podstawie wyników rozmowy kwalifikacyjnej.