NoFluffJobs Hybrydowo Senior

Senior Mobile Engineer (iOS / Android)

Ringier Axel Springer Tech

⚲ Kraków

16 400 - 27 300 PLN (B2B)

Wymagania

  • Android
  • iOS
  • Kotlin
  • Swift
  • Objective-C
  • iOS SDK
  • Android SDK
  • REST API
  • API
  • UI
  • Espresso
  • JUnit
  • Xcode
  • Proxy
  • GitHub
  • GitHub Actions (nice to have)
  • fastlane (nice to have)
  • Copilot (nice to have)
  • AI (nice to have)

Opis stanowiska

O projekcie:
Senior Mobile Developer iOS/Android będzie odpowiedzialny/a za zaprojektowanie, rozwój i utrzymanie SDK do integracji z systemem reklamowym dla aplikacji mobilnych.

Osoba na tym stanowisku będzie pełnić rolę lidera technicznego odpowiedzialnego za stworzenie wysokiej jakości SDK, które będzie łatwe w integracji i umożliwi deweloperom aplikacji mobilnych monetyzację poprzez naszą platformę reklamową. Kluczowym elementem tej roli jest zapewnienie wysokiej wydajności, stabilności oraz minimalnego wpływu SDK na performance aplikacji klientów.

Wymagania:
- Minimum 5-6 lat doświadczenia w rozwoju aplikacji mobilnych na iOS i/lub Android.
- Bardzo dobra znajomość Swift i/lub Kotlin, z dobrą znajomością Objective-C i Java.
- Doświadczenie w tworzeniu i publikowaniu SDK lub bibliotek dla platform mobilnych.
- Głęboka znajomość iOS SDK (UIKit, Foundation) i/lub Android SDK.
- Praktyczna wiedza o integracji z RESTful API, WebSockets, i protokołach real-time.
- Doświadczenie z narzędziami CI/CD dla mobile.
- Umiejętność pisania unit testów i UI testów (XCTest, Espresso, JUnit).
- Wiedza o App Store i Google Play Store guidelines oraz procesie review.
- Doświadczenie z narzędziami do debugowania: Xcode Instruments, Android Profiler, Charles Proxy.
- Doskonałe umiejętności dokumentowania kodu i API.
- Zrozumienie nowoczesnych metod wytwarzania oprogramowania z wykorzystaniem Agentic Coding (GitHub Copilot, Claude Code).

Mile widziane:

- Doświadczenie w integracji mobilnych SDK reklamowych (Google Mobile Ads SDK, Facebook SDK, MoPub),
- Znajomość framework'ów cross-platform: React Native, Flutter, Unity, Xamarin,
- Wiedza o SKAdNetwork (iOS) i Google Play Install Referrer API,
- Doświadczenie z VAST/VPAID dla mobile video ads,
- Znajomość mechanizmów privacy-preserving advertising (differential privacy, on-device processing),
- Doświadczenie z A/B testingiem i feature flags w kontekście SDK,
- Publikacja aplikacji własnych lub open-source libraries/SDK,
- Znajomość OpenRTB i protokołów header bidding dla mobile.

Codzienne zadania:
- Projektowanie i rozwój natywnych SDK dla platform iOS (Swift/Objective-C) i Android (Kotlin/Java).
- Tworzenie wrapper'ów i plugin'ów dla popularnych framework'ów cross-platform np. React Native, Flutter, Unity, Ionic.
- Optymalizacja SDK pod kątem rozmiaru, zużycia baterii i wydajności.
- Tworzenie comprehensive dokumentacji technicznej i przykładowych aplikacji.
- Wsparcie techniczne dla deweloperów integrujących SDK.
- Implementacja mechanizmów trackingu i analityki z zachowaniem prywatności.
- Zarządzanie wersjami SDK i publikacja w repozytoriach np. (CocoaPods, Maven Central, npm).
- Współpraca z zespołem backend w zakresie API i protokołów komunikacji.

🔍 Dekoder Ogłoszenia

🔴
pełnić rolę lidera technicznego
Może oznaczać zarówno faktyczne kierowanie zespołem, jak i bycie jedynym ekspertem technicznym w danej dziedzinie bez formalnej władzy nad innymi.
🔴
wysokiej jakości SDK, które będzie łatwe w integracji
Definicja 'wysokiej jakości' i 'łatwej integracji' jest subiektywna i zależy od standardów firmy, a niekoniecznie od obiektywnej oceny.
🔴
minimalnego wpływu SDK na performance aplikacji klientów
Może oznaczać, że optymalizacja wydajności jest priorytetem, ale też że obecny stan SDK może mieć znaczący wpływ, który trzeba zredukować.
🟡
Zrozumienie nowoczesnych metod wytwarzania oprogramowania z wykorzystaniem Agentic Coding (GitHub Copilot, Claude Code)
Może sugerować, że firma aktywnie korzysta z narzędzi AI do generowania kodu, co może wpływać na proces developmentu i jakość kodu.
🔴
Doświadczenie w integracji mobilnych
Jest to bardzo ogólne stwierdzenie, które może oznaczać cokolwiek od prostego dodawania SDK po skomplikowane procesy integracyjne z różnymi systemami.