NavVis builds mobile mapping systems, with hardware and software designed and manufactured in Munich. The System Software turns our devices into products: it runs onboard, brings up the platform, orchestrates the sensors, runs the mapping stack in real time, and gives the operator a UI to control the capture. Every scan a customer delivers starts on the device.
🏢 About NavVis
NavVis is a technologically-focused, global leader in reality capture and digital factory solutions. Prominent manufacturers and laser scanning professionals around the world trust our ground-breaking technology, designed to capture and share the built environment as photorealistic digital twins. By bridging the physical and digital worlds, we’re helping organizations make smarter decisions and build more efficient, connected operations.
With over 300 people from around 60 nationalities and offices around the globe, we’re proud to be a truly international and diverse place to work. As a scaling company, we bring together the agility, innovation, and entrepreneurial mindset of a startup with the professionalism and reliability of an established enterprise — giving our team the best of both worlds.
You’ll be part of an open culture that values trust, collaboration, and transparency. We are proud of our environment where diverse talent can thrive and where feedback fosters individual growth and development. Do you share our passion for disruptive technology and want to be part of our dynamic journey? At NavVis, you’ll own your projects, bring innovative ideas to life, and have real opportunities to grow your career and be recognized for your impact.
🎯 The Role
As a Senior Embedded Linux Platform Engineer, you will own the Linux platform layer directly above the kernel: the OS lifecycle, the hardware abstraction layer and system services, library, graphics, and media integration, and integration of sensor modules. You work at the kernel and userspace boundary daily, in close cooperation with the Embedded Software team, which owns the bootloader, kernel drivers, and firmware beneath you. This is a platform and integration role: you read kernel code and carry kernel patches through our OS builds, but your home is the layer above, where a working kernel becomes a working product.
✅ Key Responsibilities
Own the OS lifecycle: bundle kernel and OS, build, adapt, package, and release Debian and Ubuntu images on amd64 and ARM, including OS updates, build and release pipelines, dual-boot, and over-the-air update mechanisms that scale with production volumes
Integrate at the kernel and userspace boundary: reading kernel code, applying and carrying kernel patches, working with sysfs and udev, and debugging across the boundary in the field
Build and maintain system services: D-Bus system daemons (for example, in the clight or lightd style), platform utilities, and tooling that make the device debuggable in the field
Patch and integrate kernel-dependent libraries
Own the camera and media userspace: the V4L2 interface, image formats and controls, and OpenCV-level fixes, building on top of camera kernel drivers delivered by the Embedded Software team
Develop sensor software modules, for example the GNSS and GPS software module: message parsing, interfaces, NTRIP forwarding, and precise timestamping for a survey-grade mapping system, with module bring-up owned by the Embedded Software team and interface definition owned jointly with the Calibration and Sensors team
Support the ROS-based mapping stack: keep the C++ and Python mapping stack and its ROS nodes running reliably on the platform you own
Keep quality measurable: build and maintain CI pipelines, hardware-in-the-loop tests, and stress tests
📌 Required Qualifications
5+ years of professional software development for embedded Linux systems, ideally on ARM-based platforms, with strong hands-on C and C++ experience in a production codebase and solid Python for tooling, scripting, and automation
Fluency at the kernel and userspace boundary: reading kernel code, applying and carrying kernel patches, working with sysfs and udev, and debugging across the boundary in the field
Hands-on Linux image building and OS lifecycle management: Debian or Ubuntu image builds, packaging, update or OTA mechanisms, and reproducible, tested build pipelines
Linux userspace platform experience: system daemons, D-Bus or comparable IPC, systemd, packaging, and platform tooling
Integration experience in at least one of: V4L2 and camera and media pipelines; GPU or graphics stacks and kernel-dependent libraries (OpenGL, Vulkan, NPU, libc, crypto, vendor blobs); or GNSS and sensor protocol software (message parsing, forwarding, timestamping)
⭐ Desirable Experience
Familiarity with ROS or comparable robotics middleware in a production C++ and Python environment
Experience with hardware-in-the-loop testing or performance and latency evaluation for device software
Experience with camera systems (bandwidth, rolling shutter, exposure and gain) and sensors in general
Time synchronization in sensor systems: PTP and timestamping strategies
Device provisioning and image-based deployment at production scale
Yocto or Buildroot experience, and open-source contributions (kernel, Debian or Ubuntu packaging, V4L2, Mesa, ROS)
🎁 Benefits
30 days of paid time off per year
Affordable access to a vast network of fitness and wellness facilities through EGYM Well
Deutschlandticket subsidy to support sustainable travel using public transport
Flexible working hours and a hybrid work setup
Full visa and relocation support for international candidates
JobRad bike leasing model
Competitive compensation package
Up to 4000 EUR employee referral bonus
Financial support for local language classes
🛂 Visa & Eligibility
Full visa and relocation support for international candidates