Embedded engineer
Deadline: 2026-04-29
Description
Embedded Linux Developer
- Vessel Onboard System (iHelm) Role Overview We are looking for an Embedded Linux Developer to take technical ownership of our onboard vessel system (iHelm). You will work across the full stack of the onboard platform, from the Linux OS, kernel, and hardware interfaces up to the data services that integrate with our Python backend and external tablet. Your focus will be to: Modernize and harden the existing onboard platform (OS, kernel, and system services). Extend connectivity to more external devices and sensors (e.g. CAN/NMEA, serial, industrial buses, other onboard systems). Ensure the platform remains robust, maintainable, and secure for long-term deployments in marine environments. You’ll collaborate closely with backend, frontend, and data engineers working on the iHelm backend (Python) and frontend to ensure smooth integration between low-level device data and higher-level analytics and UI. Key Responsibilities Platform & Kernel Own the Linux-based onboard platform running iHelm, including: Kernel configuration and updates (e.g. enabling relevant integrations, patching, security updates). Boot process, system services, and resource management. Plan and execute kernel and OS upgrades on deployed hardware, including: Evaluating compatibility with existing code, libraries, and applications. Deg and testing migration paths and rollback strategies. Optimize the embedded Linux system for: Reliability and uptime in harsh/remote marine environments. Performance and resource usage (CPU, memory, storage, networking). Device Integration & Connectivity Design and implement support for external sensors and devices, such as: NMEA / NMEA2000, CAN, serial (RS-232/485), and other field buses. Vendor-specific marine electronics and engine controllers where applicable. Develop and maintain: Codebase (kernel-level or user-space) and low-level interfaces. Data acquisition daemons/services that feed the iHelm backend. Work with the backend team to define data formats and APIs for: Streaming sensor data into the Python-based iHelm backend. Supporting replay and simulation modes using recorded logs. Improve and extend the virtual/“simulated boat” capabilities used for development, automated tests, and demos (e.g. vcan, simulated NMEA feeds, log replay). System Modernization & Architecture Assess the current onboard architecture (Linux, Python backend, React frontend) and propose: Modernization steps (e.g. OS base, packaging, containerization, observability). Improvements to reliability, security hardening, and maintainability. Introduce or improve: Over-the-air (OTA) update strategies for OS, kernel, and application components. Logging, monitoring, and diagnostics at the OS/device level. Contribute to CI/CD pipelines for the embedded platform: Automated builds and tests for kernel, system images, and device-related components. Integration with existing Bitbucket-based pipelines and Dockerized stages. Quality, Testing & Documentation Implement automated and manual test strategies for: New functionality and hardware integrations. Kernel and OS upgrades (including regression testing with simulated data). Use tools such as: vcan, virtual devices, recorded data logs, and hardware-in-the-loop setups. Create and maintain: Technical documentation for platform architecture, device integrations, and update procedures. Collaboration Work closely with: Backend engineers (Python) to align on data ingestion and service boundaries. Frontend engineers (React/TypeScript/Flutter) to ensure sensor data availability and performance for the dashboard. Product and field teams to capture requirements from real vessel deployments and prioritize platform improvements. Participate in code reviews, architecture discussions, and incident postmortems, bringing an embedded/platform perspective. Required Qualifications 3+ years experience in Embedded Linux development (Yocto, Buildroot, Debian-based, or similar). Strong experience with: Linux kernel configuration, software, and build tooling. C/C++ for low-level or system programming. Solid knowledge of: System-level debugging (logs, core dumps, perf tools, strace, etc.). Hardware interfaces: CAN, serial (UART), SPI, I²C, or similar. Experience integrating and communicating with external devices/sensors in a real-time or near real-time context. Familiarity with containerization and CI/CD concepts (Docker, build pipelines) in an embedded/edge context. Comfortable working in a Git-based workflow with code reviews and branching strategies. Nice-to-Have Experience with marine or automotive systems (NMEA2000, J1939, or similar standards). Knowledge of Python and/or TypeScript/JavaScript sufficient to: Understand and work with the existing iHelm backend or frontend when needed. Help design clean interfaces between device layer and application layer. Experience with: Bitbucket Pipelines or similar CI/CD platforms. Setting up virtual test environments (e.g. vcan, QEMU, Docker-based simulations). Background in networking on embedded systems: VPNs, secure remote access, firewalling, network routing in constrained environments. Experience with security hardening on Linux systems: Secure boot, signed updates, least-privilege services, vulnerability management. Personal Attributes Systems thinker: You’re comfortable reasoning from hardware and OS all the way up to application-level behavior. Pragmatic modernizer: You can improve and refactor existing systems incrementally without destabilizing production. Hands-on: Willing to debug issues on real hardware, not just in theory. Collaborative: You communicate clearly with non-embedded colleagues and translate low-level constraints into product implications. What You’ll Work On in the First 6–12 Months Map and document the current onboard platform (OS, kernel, integrations, connectivity). Plan and execute at least one kernel/OS modernization cycle, including testing and rollout. Extend connectivity to one or more new classes of external sensors/devices, integrating data into the existing iHelm backend/replay pipeline. Improve the simulation and replay environment so other teams can develop and test without physical hardware. Contribute improvements to logging, diagnostics, and update procedures for the onboard system. Why Join Us? Be part of a mission-driven startup with strong growth and global ambition Work on cutting-edge challenges in sustainability, AI, and maritime innovation Collaborate in a dynamic and diverse international team Öppen för alla Vi fokuserar på din kompetens, inte dina övriga förutsättningar. Vi är öppna för att anpassa rollen eller arbetsplatsen efter dina behov.
Skills
ReactFlutterTypeScriptCI/CDDockerJavaScriptPythonGitSecurityLinux
Want AI to find more roles like this?
Upload your CV once. Get matched to relevant assignments automatically.