Description
Position Summary
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.
Essential Duties and 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
Required Qualifications
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.
Additional Desired Qualifications
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.
Physical Requirements and Working Conditions
Must be able to walk, stand, and navigate large indoor and outdoor facilities for extended periods of time.
Ability to lift, carry, and move materials and equipment weighing up to 25 lbs on a regular basis.
Use of personal protective equipment (PPE) may be required in designated areas in accordance with safety protocols and company policy.
May be required to climb ladders, stoop, kneel, or crouch during inspections, maintenance walk-throughs, or emergency response situations.
Regular exposure to facility operations including noise, dust, temperature fluctuations, and industrial equipment.
Occasional off-hours or weekend work may be required for emergency responses or project needs.
Requires frequent use of a computer and standard office equipment for documentation, communication, and coordination tasks.
Background Check
This position will require successfully completing a post-offer background check. Qualified candidates with a criminal history will be considered and are not automatically disqualified, consistent with federal and state law.
EEO and ITAR/EAR Work Authorization Disclosure
Red Cat Holdings provides equal employment opportunities (EEO) to all employees and applicants for employment and prohibits discrimination and harassment of any @type without regard to race, color, religion, age, sex, national origin, disability status, genetics, protected veteran status, sexual orientation, gender identity or expression, or any other characteristic protected by federal, state or local laws. This position requires direct or indirect access to hardware, software, technology or technical data controlled under the International Traffic in Arms Regulations (ITAR) and the Export Administration Regulations (EAR). Successful candidates for positions subject to ITAR/EAR restrictions must provide proof of U.S. Citizenship or Permanent Residence and must not require sponsorship for export-restricted work authorization.
E-Verify
The company participates E-Verify (https://www.e-verify.gov/sites/default/files/everify/posters/EVerifyParticipationPoster.pdf) ensure eligibility for employment and compliance with Right to Work (https://www.e-verify.gov/sites/default/files/everify/posters/IER\RightToWorkPoster%20Eng\Es.pdf) rules.
Compensation: Base pay, plus generous annual equity package and potential bonuses.