A

Senior Android & Kotlin Multiplatform Engineer (Drone Flight UI)

Amdaris • Bucharest Metropolitan Area
Remote
Apply
AI Summary

Build and own the Android UI for drone flight systems using Kotlin and Jetpack Compose, shaping real-time telemetry, video, and mission controls. Co-own the shared Kotlin Multiplatform core, ensuring robust hardware integration and degraded-state resilience. Senior IC role requiring autonomous design and architecture expertise in remote-first, distributed environments.

Key Highlights
Own the Android UI (Kotlin/Compose) for drone flight systems with real-time telemetry, video, and mission controls
Co-own shared Kotlin Multiplatform core (domain model, protocol, persistence) alongside backend team
Design hardware-facing UI for degraded states (stale data, lost link) with no reliance on subtle visual cues
Senior IC role with no management responsibilities, requiring autonomous decision-making and quality leadership
Key Responsibilities
Develop and maintain the Android presentation layer (Kotlin/Compose) for drone flight UI, including telemetry displays, video streaming, and mission controls
Shape the UI design (layout, interaction, information hierarchy) independently in absence of a dedicated designer, ensuring usability in field conditions (sunlight, vibration, one-handed operation)
Co-own the shared Kotlin Multiplatform core, including domain model, protocol, persistence, and sync logic, ensuring clean separation between platform-specific and shared code
Optimize real-time rendering of telemetry and video streams on constrained hardware, addressing backpressure, frame timing, and degraded network conditions
Integrate with DJI SDK (Mobile SDK v5) and other hardware-facing APIs, handling connection lifecycle (pairing, reconnection, link loss) transparently in the UI
Validate and test UI on real drone hardware, contributing to field testing and ensuring robustness in operational environments
Collaborate with backend engineers to define and implement domain logic, protocol, and synchronization patterns for offline-first functionality
Technical Skills Required
Kotlin Jetpack Compose Kotlin Multiplatform
Nice to Have
Experience with DJI SDK (Mobile SDK v5, Payload/Edge SDK)
Drone or autopilot exposure (MAVLink, PX4, ArduPilot, Skydio, Parrot)
Compose Multiplatform experience
Geospatial/map UI development (coordinate systems, tiling, offline maps)
Video transport protocols (RTMP, WebRTC, RTSP)
Server-side Kotlin (Ktor or Spring Boot)
Android on rugged/vendor-locked hardware (device owner mode, sideloading, OTA updates)

Job Description


We fuse together exceptional talent who deliver outstanding software solutions. Our approach has helped us grow 60% in 2021, 94% in 2022, while in 2023 we joined forces with Insight, a Fortune 500 company and a leading solutions and systems integrator. With exciting growth plans and cutting-edge projects, there has never been a better time to join our incredible team.

About The Role

We are building the software that drone pilots actually look at. The application runs on the aircraft's smart controller — DJI RC Pro / RC Plus class hardware — as an Android app with a Kotlin presentation layer, sitting on top of a shared Kotlin Multiplatform core that also powers our backend.

This role is front-end first. You own the interface: live telemetry, video, mission state, and the controls a pilot uses in the field. You will also co-own the shared KMP core with the rest of the team — the domain model, protocol and sync logic that the UI renders and the backend serves.

We do not have a designer yet. The right person here has opinions about interface design and can carry a screen from rough intent to something a pilot can use in bright sunlight with one hand — working with a designer later, but not blocked without one today.

This is a senior individual contributor role. You are not managing anyone; you are expected to make good calls independently and raise the quality bar by example.

What you will do

  • Build and own the Android presentation layer in Kotlin and Compose: flight UI, telemetry displays, video, mission planning and review.
  • Shape the interface itself — layout, interaction, information hierarchy — in the absence of a dedicated designer.
  • Co-own the shared Kotlin Multiplatform core alongside the rest of the team: domain model, protocol, persistence, sync.
  • Render live telemetry and video streams smoothly on modest controller hardware.
  • Design for the field: degraded links, stale data, gloves, sunlight, vibration, one-handed use.
  • Work alongside the engineers handling the DJI SDK integration, and consume the flight state they expose — growing into that layer yourself over time if it interests you.
  • Validate on real hardware. The emulator only gets you so far; expect to be part of field testing.

Requirements

  • Engineering fundamentals
  • 5+ years building and shipping production software.
  • Expert-level Kotlin: coroutines, structured concurrency, Flow, generics.
  • Sound architecture instincts: modularization, clear layer boundaries, domain logic kept out of framework and UI code.
  • Comfortable with testing and CI/CD as part of normal work, not an afterthought.
  • Able to work autonomously in a fully remote, distributed team, and to communicate clearly in writing.
  • Professional working proficiency in English.
  • Android
  • 4+ years of Android development with applications shipped and maintained in production.
  • Solid grasp of the application lifecycle, foreground and bound services, process death, and keeping a long-running session alive behind the UI.
  • Performance work as a habit: profiling, memory, frame timing, battery and thermal behaviour on constrained devices.
  • Comfortable targeting older API levels and non-standard hardware — controller devices lag well behind mainstream Android and have no Play Services to lean on.
  • Presentation layer in Kotlin — the core of this role
  • Deep Jetpack Compose: state hoisting, recomposition and stability, ,derivedStateOf, custom layouts, Canvas drawing, animation, gesture handling.
  • Sound UI architecture: unidirectional data flow, a single source of truth, Flow-driven state, no business logic in composables.
  • Rendering high-frequency streams without dropping frames: telemetry arriving many times a second, backpressure, conflation, throttling to what the eye can actually use.
  • Composing UI over live video and map surfaces —SurfaceView/TextureView interop, overlays, correct layering and lifecycle.
  • Custom visual components built from scratch: gauges, attitude and heading indicators, timelines, map overlays. Off-the-shelf Material components will not cover this UI.
  • Design judgment. You can take a vague requirement and produce a defensible interface: information hierarchy under time pressure, dense but glanceable layouts, high contrast for direct sunlight, touch targets usable with gloves, no reliance on subtle colour cues.
  • Designing for degraded states — stale telemetry, lost link, unknown position — so the screen never implies certainty the system does not have.
  • Accessibility and internationalisation fundamentals; UI testing (Compose UI tests, screenshot tests).
  • Kotlin Multiplatform
  • Production experience with KMP, not just prototypes.
  • Confident with expect / actual , source set layout, and Gradle multiplatform configuration — version catalogs, convention plugins.
  • The KMP ecosystem in practice: Ktor client, kotlinx-serialization, kotlinx-datetime, SQLDelight or Room KMP, coroutines across targets.
  • Judgment about what belongs in shared code versus platform code, and the discipline to hold that line while working in a codebase you share with others.
  • Offline-first patterns: local persistence, deferred sync, conflict handling when connectivity returns.
  • Real-time and hardware-facing UI

We do not expect drone experience. We do expect that you have built an interface driven by something other than a REST response — hardware, a device SDK, a sensor, a media pipeline.

  • Experience building UI on top of a device or hardware SDK: Bluetooth or USB peripherals, cameras, IoT devices, medical or industrial equipment, vehicles, robotics.
  • Handling connection lifecycle in the UI: pairing, reconnection, link loss, and communicating all of it honestly to the user.
  • Live video in an app: decoding, rendering, latency, and drawing on top of a moving frame.
  • Comfort with a UI whose correctness matters — where a misleading screen has consequences beyond a bad review.

Nice to have

  • DJI SDK experience — Mobile SDK v5 especially, or Payload / Edge SDK. A significant plus, not a requirement.
  • Any drone or autopilot exposure: MAVLink, PX4, ArduPilot, Skydio, Parrot; or hands-on flying.
  • Compose Multiplatform.
  • Geospatial and map UI: coordinate systems, tiling, offline map data, flight-path overlays.
  • Video transport: RTMP, WebRTC, RTSP, hardware codecs.
  • Design tooling and vocabulary — Figma, design systems, prototyping — given we have no designer yet.
  • Server-side Kotlin (Ktor or Spring Boot), useful for the shared core.
  • Android on vendor-locked or rugged hardware: device owner mode, sideloaded distribution, OTA updates for fielded units.
  • A drone pilot certificate, or genuine willingness to obtain one.

To see more roles, click here.

Similar Jobs

Explore other opportunities that match your interests

Senior React Native Engineer

Mobile
•
46m ago
Visa Sponsorship Relocation Remote
Job Type Contract
Experience Level Mid-Senior level

kake

India

Mobile App Developer

Mobile
•
54m ago
Visa Sponsorship Relocation Remote
Job Type Full-time
Experience Level Mid-Senior level

nativeminds

Türkiye

Senior Mobile Architect

Mobile
•
1h ago
Visa Sponsorship Relocation Remote
Job Type Full-time
Experience Level Director

zenithinfotek llc

United State

Subscribe our newsletter

New Things Will Always Update Regularly