Software Engineer, Android Native (C++/NDK)

RED CAT HOLDINGSSouth Salt Lake, UT
Onsite

About The Position

Teal Drones is looking for a hands-on Android Engineer (C++/NDK) to own and evolve the Android-based ground control station experience for our drone platforms. This role focuses on building, debugging, and optimizing native C++ systems on Android for mission planning, telemetry, and real-time vehicle control. You will work inside a QGroundControl (QGC/Qt) environment, but we are hiring first for strong C++ engineering depth. If you are excellent in C++ and Android native development, we expect you can ramp quickly on QGC/Qt specifics. The questions you’ll be asked every day are ones like: Why is MAVLink telemetry dropping under load on this Android device? How do we improve reliability and latency across UDP/TCP/USB/Serial paths? What’s the fastest way to debug native threading, memory, and performance issues on ARM64 Android in field conditions? We are looking for someone comfortable across Android internals, C++/NDK, networking, hardware interfaces, and real-time systems. Prior Qt/QGC experience is valuable, but not required if you bring strong adjacent experience.

Requirements

  • Bachelor’s or master’s degree in Computer Science, Computer Engineering, or a related field.
  • 5+ years of software engineering experience, with strong proficiency in modern C++.
  • Hands-on experience building and debugging native code on Android (NDK, JNI, profiling, debugging).
  • Strong multithreading/concurrency fundamentals and experience with performance-sensitive systems.
  • Experience with networking in mobile or embedded systems (UDP/TCP/serial/USB).
  • Strong debugging skills across multi-layer systems (native code, app layer, networking, OS).
  • Comfortable working in Linux-based development environments.

Nice To Haves

  • Experience with Qt/QML, QGroundControl, MAVLink, PX4, or ArduPilot is a plus, and can be learned on the job with strong C++ fundamentals.
  • Experience with QGroundControl (QGC) or similar ground control station software.
  • Experience with Qt/QML, including signals/slots and UI performance tuning.
  • Familiarity with MAVLink protocol and real-time communication systems.
  • Familiarity with video streaming pipelines (GStreamer, RTSP, WebRTC).
  • Knowledge of OpenGL or GPU rendering in Qt or Android.
  • Experience with map SDKs and geospatial visualization.
  • Familiarity with CI/CD systems (Jenkins, GitLab CI).
  • Exposure to robotics, UAV systems, or defense applications.
  • Experience working with USB/serial drivers on Android.
  • Knowledge of Python for tooling or automation.

Responsibilities

  • Own and maintain native C++ ground control functionality, including feature development, bug fixes, and long-term stability.
  • Build and optimize C++ components using the Android NDK to support real-time mission workflows and vehicle control.
  • Develop and maintain robust JNI boundaries between Android and native layers, with strong ownership of memory, threading, and lifecycle behavior.
  • Debug and resolve issues in multithreaded native code, event loops, and cross-language integration points.
  • Contribute C++ changes within QGC/Qt architecture while maintaining compatibility with upstream QGC.
  • Build, package, and optimize ARM64 Android applications, including APK/AAB generation, signing, and deployment workflows.
  • Debug Android-specific issues such as lifecycle handling, permissions, USB/serial communication, and network instability.
  • Integrate MAVLink communication over multiple transports (UDP, TCP, USB, Serial) on Android devices.
  • Optimize performance for real-time telemetry, video streaming, and map rendering on resource-constrained devices.
  • Ensure compatibility across a range of Android hardware (tablets, rugged devices, and field controllers).
  • Implement and debug MAVLink message handling, routing, and reliability under varying network conditions.
  • Diagnose telemetry dropouts, latency issues, and message parsing errors.
  • Extend MAVLink functionality for custom payloads or vehicle behaviors.
  • Collaborate with firmware engineers to ensure end-to-end communication reliability between drone and ground control systems.
  • Design and implement responsive, real-time UI components for mission-critical workflows.
  • Optimize rendering performance for maps, overlays, and telemetry dashboards.
  • Customize mission planning interfaces and flight data visualization in QGC/Qt and Android-integrated surfaces.
  • Ensure usability in field conditions (sunlight readability, touch responsiveness, and offline operation).
  • Maintain and improve build systems across C++, Qt, and Android toolchains.
  • Manage Qt versions, Android SDK/NDK dependencies, and cross-compilation workflows.
  • Automate builds and testing pipelines using CI/CD systems (e.g., Jenkins or GitLab CI).
  • Debug build failures across native, Qt, and Android layers.
  • Profile and optimize CPU, memory, and battery usage on Android devices.
  • Debug crashes, ANRs, and memory leaks across C++ and Java/Kotlin boundaries.
  • Ensure stable operation during long-duration missions and intermittent connectivity.
  • Implement logging, diagnostics, and telemetry capture for field debugging.
  • Ensure secure communication channels between Android devices and drones.
  • Manage permissions, secure storage, and device access policies on Android.
  • Support compliance requirements for government and defense-related deployments.
  • Work closely with embedded, firmware, and flight-test teams to debug real-world issues.
  • Support field testing, log analysis, and rapid iteration on mission-critical features.
  • Provide tools and workflows for internal teams to test and validate QGC changes.

Benefits

  • Base pay, plus generous annual equity package and potential bonuses.
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service