← all jobs

Senior Software Developer Kotlin

Work from home Full-time role Hiring

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

1. 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.

2. 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.

3. 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).

4. 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.

5. 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.

5+ years building production software, 4+ years Android development, expert Kotlin, deep Jetpack Compose, production Kotlin Multiplatform, real-time hardware-facing UI, testing, CI/CD, and professional English.

Key Responsibilities

  • building interfaces
  • shaping interaction
  • validating hardware

Skills & Tools

Kotlin, Kotlin Multiplatform, Android, Jetpack Compose, Flow, Canvas, SurfaceView, TextureView, Compose UI tests, SQLDelight, Room KMP, Ktor, kotlinx-serialization, kotlinx-datetime, Gradle, Figma, Spring Boot, DJI SDK, DJI Mobile SDK v5, DJI Payload SDK, DJI Edge SDK, MAVLink, PX4, ArduPilot, Skydio, Parrot, Compose Multiplatform, RTMP, WebRTC, RTSP

Job Details

  • Category: Software Development
  • Seniority: Senior Level
  • Commitment: Full Time
  • Workplace: Remote — Bucharest, Bucharest, Romania
  • Languages: English

About Amdaris

A software solutions company delivering technology projects across Europe. — Industry: Information Technology

More open positions

Senior Kotlin Developer

Work from home Full-time role

Senior Electrical Engineer - Remote Eligible

Work from home Full-time role

Senior Mechanical Engineer - Fossil or Hydro

Work from home Full-time role

Substation Physical (Outdoor) Engineering Associate II

Work from home Full-time role

Substation Physical (Outdoor) Associate Designer II

Work from home Full-time role

Informatics Lead Development Representative with German

Work from home Full-time role

Green Careers Readiness Training

Work from home Full-time role

SPECIALIST-HIMS Remote

Work from home Full-time role

Vice President of Artificial Intelligence

Work from home Full-time role

Customs Brokerage Rep ll Day 1 Rating M-F 5p-130a REMOTE LOCAL

Work from home Full-time role

Special Education Teacher - Part-Time - 100% Remote - OR License Required

Work from home Full-time role

Remote Data Entry Specialist – Precision Data Management & System Integration – Work From Home at brighthush

Work from home Full-time role

HPC System Engineer

Work from home Full-time role

Principal Software Engineer

Work from home Full-time role

Victim Services Specialist (Part-Time)

Work from home Full-time role

[Remote] Staff Site Reliability Engineer, Government

Work from home Full-time role

UK-Based Customer Support Representative – Deliver Exceptional Service for Opportunicore’s Global Marketplace

Work from home Full-time role

[Remote] Senior Engineering Critical Environment Consultant I

Work from home Full-time role

Civil Engineer Career Mentor – Part-Time

Work from home Full-time role

Remote Client Success Representative (Growth & Leadership Track)

Work from home Full-time role

Director, Naval Special Warfare Programs

Work from home Full-time role