Embedded Software Engineer / Architect
Role details
Job location
Tech stack
Job description
Design, develop, and maintain embedded software using C/C++ for real-time and safety-critical robotic systems Architect and implement ROS 2 based robotic applications, including nodes, services, actions, and middleware communication Develop high-level control, automation, and tooling using Python Integrate sensors, actuators, motor controllers, and communication protocols (SPI, I2C, CAN, UART, Ethernet) Collaborate closely with hardware, firmware, perception, and controls teams Lead system-level debugging, performance optimization, and reliability improvements Define software architecture, coding standards, and best practices Mentor junior engineers and provide technical leadership Participate in design reviews, requirements definition, and technical decision-making Required Skills & Qualifications
Requirements
15+ years of hands-on experience in embedded and robotics software development Strong proficiency in Embedded C/C++ (memory management, RTOS, low-level drivers) Extensive experience with ROS 2 (DDS, QoS, lifecycle nodes, navigation/manipulation stacks) Solid Python programming experience for robotics, automation, and testing Deep understanding of robotics fundamentals (kinematics, control systems, sensor fusion) Experience working with real-time systems and embedded Linux