Requirements
At least 5 years of experience in embedded, robotics, drone, or real-time software development.Strong professional proficiency in Rust.Hands-on experience with C++ for embedded or performance-critical software.Strong experience with ROS2.Experience with GStreamer for video processing or streaming pipelines.Familiarity with embedded Linux, ARM-based systems, containerization, and hardware-constrained environments.Experience developing GUIs using frameworks such as egui, Qt, or comparable technologies.Strong knowledge of performance optimization, memory management, multithreading, and real-time systems.
Description
Gramian Consultancy is a boutique consultancy specializing in IT professional services and engineering talent solutions. With a strong background in software engineering and leadership, we help companies build high-performing teams by matching them with professionals who truly fit their needs.About the RoleOur client is a Swiss robotics company developing advanced autonomous systems for demanding industrial environments. The team combines embedded software, robotics, real-time control, computer vision, and ground-control technologies to build reliable systems used in complex field operations.We are looking for a hands-on Robotics Software Engineer to work across onboard and ground-control software, with a strong focus on Rust, ROS2, embedded systems, real-time communication, telemetry, and video streaming. The role spans embedded software, GUI development, communications, performance optimization, and robotics system integration.CONTRACT: Long term contract or EOR modelLOCATIONS: REMOTEKey ResponsibilitiesDevelop and improve ground-control software, including telemetry, data visualization, and operator interfaces.Design and maintain embedded software for onboard computers.Implement data collection, recording, and real-time streaming workflows.Develop communication protocols connecting robotic systems, ground stations, and cloud services.Work closely with firmware and software engineers to optimize system performance.Build and maintain video-processing and streaming pipelines.Optimize memory usage, multithreading, latency, and overall real-time performance.Contribute to software architecture and technical design decisions.Maintain high code-quality standards through testing, CI/CD, and code review.Debug complex issues across distributed robotics and embedded systems.