Flutter Developer
Senior Flutter Developer
Lokalizacja: Wrocław Tryb pracy: hybryda Forma współpracy: B2B (contracting) Stawka: 120–145 PLN/h netto + VAT
O projekcie
Dołącz do zespołu R&D rozwijającego nowoczesną platformę mobilną wspierającą serwisowanie inteligentnych urządzeń IoT. Celem projektu jest zastąpienie wielu rozproszonych aplikacji jednym, wydajnym rozwiązaniem mobilnym, które obsłuży cały cykl pracy serwisanta – od diagnostyki po konfigurację urządzeń.
Poszukujemy doświadczonego Senior Flutter Developera , który będzie odpowiedzialny za projektowanie architektury oraz rozwój aplikacji mobilnej działającej w modelu offline-first , komunikującej się bezpośrednio z urządzeniami poprzez dedykowane protokoły.
Daily tasks
- Projektowanie i rozwój aplikacji mobilnej w Flutterze dla systemów Android i iOS.
- Tworzenie skalowalnej architektury aplikacji oraz dbanie o wysoką jakość kodu.
- Integracja z REST API oraz implementacja mechanizmów uwierzytelniania (OAuth2, JWT).
- Implementacja komunikacji z urządzeniami IoT oraz obsługa synchronizacji danych.
- Optymalizacja wydajności aplikacji, czasu uruchamiania oraz wykorzystania pamięci.
- Tworzenie i utrzymywanie testów jednostkowych, widgetowych oraz integracyjnych.
- Implementacja natywnych funkcjonalności z wykorzystaniem Platform Channels.
- Współpraca z zespołami Backend, UX/UI oraz Product Ownerami.
- Udział w code review, definiowaniu standardów programistycznych oraz mentoringu mniej doświadczonych programistów.
- Odpowiedzialność za dostarczanie funkcjonalności od etapu projektowania do wdrożenia.
Requirements
Minimum 5 lat doświadczenia w tworzeniu aplikacji mobilnych, w tym co najmniej 3 lata komercyjnej pracy z Flutterem i Dartem. Bardzo dobra znajomość Flutter Framework oraz języka Dart. Znajomość cyklu życia widgetów oraz mechanizmów renderowania Fluttera. Doświadczenie w tworzeniu aplikacji na Android i iOS z jednej bazy kodu. Bardzo dobra znajomość programowania asynchronicznego (async/await, Streams, Isolates). Doświadczenie z architekturami Clean Architecture, MVVM, BLoC, Cubit lub Provider. Umiejętność projektowania modularnych i skalowalnych aplikacji. Doświadczenie z Dependency Injection. Praktyczna znajomość integracji REST API. Znajomość OAuth2, JWT oraz mechanizmów cache, retry i obsługi błędów. Doświadczenie z JSON serialization. Umiejętność optymalizacji wydajności aplikacji. Doświadczenie z Flutter DevTools oraz narzędziami do monitorowania błędów. Praktyczne doświadczenie w testowaniu aplikacji (Unit, Widget, Integration Tests). Znajomość CI/CD oraz narzędzi takich jak GitHub Actions, GitLab CI, Bitrise lub Jenkins. Doświadczenie z Platform Channels, Secure Storage, Deep Linking, Push Notifications oraz Background Tasks. Dobra znajomość zasad bezpieczeństwa aplikacji mobilnych. Umiejętność pracy w środowisku Agile oraz współpracy z zespołami produktowymi i UX. Mile widziane Doświadczenie w projektach IoT lub Smart Home. Znajomość komunikacji Bluetooth. Doświadczenie z Feature Flags lub Remote Config. Znajomość Firebase Crashlytics oraz Azure DevOps.
Must have: Flutter, Dart, Android, iOS, Clean Architecture, MVVM, BLoC, Cubit, Provider, Dependency injection, REST API, OAuth2, JWT, JSON, Flutter DevTools, Unit, Widget, Integration test, CI/CD, GitHub Actions, GitLab CI, Bitrise, Jenkins, Platform channels, Secure Storage, Deep Linking
Nice to have: IoT, Smart Home, Bluetooth, Feature Flags, Remote Config, Firebase Crashlytics, Azure DevOps