×
Register Here to Apply for Jobs or Post Jobs. X

Software Engineer, Android Native; C++​/NDK

Job in Salt Lake City, Salt Lake County, Utah, 84193, USA
Listing for: Red Cat Holdings
Full Time position
Listed on 2026-09-02
Job specializations:
  • Software Development
    Android Developer, C++ Developer, Software Engineer, Embedded Software Engineer
Salary/Wage Range or Industry Benchmark: 120000 - 170000 USD Yearly USD 120000.00 170000.00 YEAR
Job Description & How to Apply Below
Position: Software Engineer, Android Native (C++/NDK)

Job Details

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 QGround

Control (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 ARM
64 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.

Essential Duties and Responsibilities Android Native (C++/NDK) Development
  • 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.
Android Platform Integration
  • Build, package, and optimize ARM
    64 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).
MAVLink & Drone Communication
  • 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.
UI/UX & Qt/QML Development
  • 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).
Build Systems & Tooling
  • Maintain and improve build systems across C++, Qt, and Android tool chains.
  • Manage Qt versions, Android SDK/NDK dependencies, and cross‑compilation workflows.
  • Automate builds and testing pipelines using CI/CD systems (e.g., Jenkins or Git Lab CI).
  • Debug build failures across native, Qt, and Android layers.
Reliability & Performance
  • 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.
Security & Compliance
  • 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.
Collaboration & Field Support
  • Work closely with embedded, firmware, and flight‑test teams to debug real‑world issues.
  • S…
To View & Apply for jobs on this site that accept applications from your location or country, tap the button below to make a Search.
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).
 
 
 
Search for further Jobs Here:
(Try combinations for better Results! Or enter less keywords for broader Results)
Location
Increase/decrease your Search Radius (miles)
0
200
Filters
Education Level
Experience Level (years)
Posted in last:
Salary