Senior Software Engineer
About Job

About the role
Mavinci is hiring a Senior Software Engineer to build a new 3D map platform onCesiumJS for our real-time situational-awareness system, replacing our current map application. You will also support our drone project'sGo services and Android apps.
We are a small team with a high engineering bar. We want a software engineer who owns features end to end: data model, API, map view and tests.
Location: Ankara, Turkey · Work model: On-site ·Type: Full-time
What you'll work on
Most of your time goes to the map platform; the rest to the drone software the team already ships.
Map platform (primary, ~[70]%)
- Build a CesiumJS 3D globe application that replaces our current map application, with feature parity first and then new capabilities.
- Show live sensor readings, detections and alarms on the map, with time history and playback.
- Draw zones, analysis results and alert areas on 3D terrain.
- Work fully offline: local terrain, imagery and 3D Tiles served from our own tile pipeline.
- Connect the map to backend services over gRPC/WebSocket; keep it fast with thousands of moving entities.
Drone project support (~[30]%)
- Go services on the drone's on-board computer: gRPC APIs, MAVLink telemetry, mission and camera control.
- Android apps in Java: field and operator apps, offline maps, live video and telemetry.
- Shared tooling: a Go CLI for planning and flying missions, React dashboards, CI pipelines.
Must have
- [3+ / 5+] years of production software development; strong TypeScript/JavaScript.
- Hands-on web mapping: CesiumJS preferred, or OpenLayers, Mapbox/MapLibre, Leaflet with WebGL.
- Geospatial basics: WGS84 and projections, ellipsoid vs. sea-level heights, GeoJSON/KML, raster and vector tiles.
- Working experience in at least one of Go or Java (Android), and willing to grow in the other.
- Real-time data in the UI: WebSocket or gRPC streaming, rendering thousands of updating objects smoothly.
- Writes tests by habit and keeps CI and code-quality gates green; Git with small, reviewed commits.
- Good written English and Turkish for design notes and reviews.
Technical depth we value
Nobody needs all of this; strength in the first block plus one of the other two is a strong fit.
Geospatial front-end
- CesiumJS internals: entities vs. primitives, CZML, 3D Tiles, terrain providers (quantized-mesh), clamping to ground.
- Offline map data: GDAL, tile generation, PMTiles or a self-hosted terrain/imagery server.
- Rendering performance: WebGL limits, batching, level of detail, Web Workers.
- Modern front-end: React + TypeScript, state management, component tests.
Go backend
- Go services in production: concurrency, gRPC with protobuf contracts, streaming, graceful restart.
- Running on small Linux devices: resource limits, systemd/containers, cross-compiling for ARM.
- Protocols: MAVLink or similar binary telemetry; time-series and spatial data storage.
Android
- Java on the Android SDK: activities, services, Android Views, threading (Executors or RxJava), clean architecture.
- Maps and media on Android: offline maps, live video (WebRTC or RTSP), background services.
- Talking to hardware and servers: USB/serial or network links, gRPC from Android.
Nice to have
- Experience in defence, public-safety or command-and-control software; military map symbology (MIL-STD-2525 / APP-6).
- Has migrated a legacy desktop or map application to a modern web stack.
- Drone or robotics software: PX4/ArduPilot, MAVLink, ground control stations.
- Docker, Kubernetes, GitLab CI; Linux on ARM devices.
- Eligible for a security clearance [if required].
Preferred Candidate
Şirket Hakkında
Mavinci özellikle yazılım geliştirme, teknik destek, alan uzmanlığı ve danışmanlık kapasitesi ile bilgi ve iletişim teknolojileri, güvenlik ve savunma alanlarında çalışan bir Ar-Ge şirketidir. Operasyonel alanlar; Nükleer Güvenlik Araştırma ve Analiz, Afet ve Aci... Şirketi Keşfet
Yan Haklar
- Özel Sağlık Sigortası
