Software Engineer, QGC

TEAL DRONES INCSouth Salt Lake, UT

About The Position

Teal Drones is looking for a hands-on Android Engineer (Qt/C++ / QGroundControl) to own and evolve the Android-based ground control station experience for our drone platforms. This role focuses on developing, customizing, and maintaining QGroundControl (QGC) for mission planning, telemetry, and real-time vehicle control on Android devices. You will be responsible for building, debugging, and optimizing QGC on Android—ensuring reliable communication with drones, smooth UI/UX performance, and seamless integration with onboard systems. The questions you’ll be asked every day are ones like: Why is MAVLink telemetry dropping on this Android device under load? How do we extend QGC with a custom plugin without breaking upstream compatibility? What’s the fastest way to debug a Qt signal/slot issue on an ARM64 Android build? This is not a role for someone who has only built standard Android apps. We need someone comfortable working across Qt/C++, Android internals, MAVLink communication, and real-time systems in field-deployed environments.

Requirements

  • Bachelor’s or master’s degree in Computer Science, Computer Engineering, or a related field.
  • 5+ years of software engineering experience, with a strong focus on Qt/C++ and/or Android development.
  • Hands-on experience with QGroundControl (QGC) or similar ground control station software.
  • Strong proficiency in C++ and Qt (QML, signals/slots, threading).
  • Experience building and debugging Android applications, including SDK/NDK usage.
  • Familiarity with MAVLink protocol and real-time communication systems.
  • Experience with networking (UDP/TCP/serial communication) in mobile or embedded environments.
  • Strong debugging skills across multi-layer systems (UI, networking, OS).
  • Comfortable working in Linux-based development environments.

Nice To Haves

  • Experience with PX4 or ArduPilot flight stacks.
  • Familiarity with video streaming pipelines (GStreamer, RTSP, WebRTC).
  • Experience optimizing Qt applications for ARM64 Android devices.
  • 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

  • QGroundControl (QGC) Development Own and maintain Teal’s fork of QGroundControl, including feature development, bug fixes, and upstream merges.
  • Extend QGC using Qt (C++ and QML) to support custom drone behaviors, mission workflows, and UI components.
  • Develop and maintain custom plugins for vehicle support, telemetry handling, and mission control.
  • Debug and resolve issues in Qt signal/slot interactions, threading, and event loops.
  • Maintain compatibility with upstream QGC while managing downstream customizations.
  • Android Platform Integration Build, package, and optimize QGroundControl for Android (ARM64), including APK/AAB generation 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 using Qt/QML.
  • Optimize rendering performance for maps, overlays, and telemetry dashboards.
  • Customize mission planning interfaces and flight data visualization.
  • Ensure usability in field conditions (sunlight readability, touch responsiveness, and offline operation).
  • Build Systems & Tooling Maintain and improve build systems for QGC across 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 C++, 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.
  • 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.
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service