Senior Android i Rust Engineer (VPN), (short term: około 2 tygodnie)
Summary
Short-term (~2 weeks) senior role to finalize and optimize a Meander VPN Android app, working with Kotlin, Rust (via JNI bridge), React/TypeScript UI in a Tauri framework, and gRPC/Protobuf integration.
Podsumowanie
Głównym celem tego stanowiska jest rozwój i optymalizacja aplikacji Meander VPN na platformie Android, co jest kluczowe dla efektywnego zarządzania połączeniami VPN na urządzeniach mobilnych.
Obowiązki:
- Rozwój i finalizacja istniejącej aplikacji Meander VPN dla platformy Android.
- Integracja usług systemowych Android związanych z VPN.
- Utrzymanie i rozwijanie istniejącego kodu w Kotlinie oraz Rust.
- Rozwój mostu komunikacyjnego Kotlin ↔ Rust opartego o JNI.
- Praca w istniejącym środowisku Tauri.
- Budowanie i utrzymywanie procesu cross-kompilacji Rust dla Androida.
- Rozwój wspólnego interfejsu użytkownika w React/TypeScript.
- Integracja klientów gRPC na bazie istniejących kontraktów Protobuf.
- Konfiguracja i utrzymanie procesu build/release w Gradle.
- Współpraca z repozytoriami Git oraz pipeline'ami CI/CD w GitLab.
Must Have
- Kotlin, w szczególności:
- integracja z systemowymi usługami Android
- VpnService
- kanaliki powiadomień
- routowanie ruchu per-aplikacyjnego
- Rust: umiejętność czytania i rozwijania istniejącego codebase'u.
- JNI (Java Native Interface): doświadczenie w pracy z ręcznie napisanym mostem Kotlin ↔ Rust.
- Praktyczna wiedza o Tauri lub umiejętność szybkiego wdrażania się w nowe frameworki cross-platformowe.
- Cargo-NDK / narzędzia cross-kompilacji Android NDK.
- React / TypeScript: umiejętność pracy w wspólnym kodzie GUI.
- Integracja klientów gRPC / Protobuf.
- Znajomość konfiguracji release'ów w Gradle, w tym:
- konfiguracje podpisywania
- product flavors / warianty budowy
- strategia versionCode / versionName
- Git.
- GitLab CI/CD.
Nice to Have
- Doświadczenie związane z WireGuard lub rozwiązaniami VPN/networking.
- Doświadczenie w publikacji aplikacji w Google Play Store, szczególnie w kategorii VPN.
- Znajomość:
- ujawnień dotyczących bezpieczeństwa danych
- uzasadnienia dla foreground-service-type
- procesów review dla aplikacji VPN.
- Doświadczenie z:
- JUnit
- Espresso instrumented testing
- Firebase Test Lab lub analogicznymi rozwiązaniami device-farm.
- Doświadczenie w budowaniu testów dla aplikacji mobilnych od podstaw.
- Znajomość Stripe Payment Element.
- Znajomość integracji Google Pay Wallet.
- Świadomość ograniczeń WebView przy obsłudze Google Pay oraz wykorzystania Chrome Custom Tabs.
Inne szczegóły
Praca w trybie zdalnym, na okres około 2 tygodni, w obszarze rozwoju oprogramowania z naciskiem na technologie mobilne i zabezpieczenia sieciowe.