Bulldogjob Stacjonarnie Senior

Senior Software Engineer - Android & Native C++ Integration

Luxoft DXC

⚲ Krakow

Do uzgodnienia

Wymagania

  • C++
  • Java
  • Kotlin
  • JNI

Opis stanowiska

The person hired for this position will be responsible for the development and maintenance of Android applications and native C++ integration layers for a broad range of video collaboration devices and related products. Software development will be related to the implementation of new features, the design and development of its architecture, as well as maintenance of existing solutions.

- Design, implement, and maintain Android applications (Java/Kotlin) that surface CV/ML-powered features (such as people-tracking, framing, and scene understanding) across our conference room camera product line.

- Build and extend the JNI integration layer connecting Android app logic to our C++20 native libraries, ensuring clean API boundaries, safe memory management, and correct threading semantics across the language boundary.

- Collaborate with CV/ML researchers and C++ engineers to expose new algorithms and pipeline outputs to the Android layer, including debug visualizations and parameter tuning interfaces.

- Design and implement IPC interfaces between the new Android application and the existing app ecosystem, ensuring reliable and efficient data exchange across process boundaries.

- Debug and optimize multithreaded, real-time video processing pipelines running on Android hardware, bridging native and managed runtime concerns.

- Write and maintain unit and integration tests for both the Android and native layers to ensure reliability across multiple hardware products.

- Participate in code reviews and uphold established engineering standards on both sides: modern C++ idioms (RAII, exception-safe error handling) and Android best practices (lifecycle awareness, threading, resource management).

🔍 Dekoder Ogłoszenia

🔴
broad range of video collaboration devices and related products
Może oznaczać pracę nad wieloma różnymi, potencjalnie niepowiązanymi ze sobą produktami, co może rozproszyć wysiłki.
🔴
design and development of its architecture
Może oznaczać zarówno tworzenie nowej architektury od podstaw, jak i jedynie wprowadzanie zmian w istniejącej, co jest mniej ambitne.
🔴
bridging native and managed runtime concerns
Wskazuje na potencjalnie skomplikowane problemy z zarządzaniem pamięcią i synchronizacją między różnymi środowiskami wykonawczymi.
🔴
ensure reliable and efficient data exchange across process boundaries
Implikuje, że komunikacja międzyprocesowa może być problematyczna i wymagać znaczącego nakładu pracy na zapewnienie jej stabilności.
🔴
Particip
Ogłoszenie jest niekompletne, co może sugerować pośpiech w jego publikacji lub brak dopracowania.