Position:
Senior Software Engineer - C++
Company:
Weekday's Client
Location:
India, Thiruvananthapuram
Employment type:
Full time
Short Summary:
We are looking for a highly skilled Senior Software Engineer – C++ to join our robotics engineering team and contribute to the development of advanced autonomous robotic systems. The ideal candidate will have strong hands-on experience in C++ development, ROS2, Robot Operating System (ROS), and hydrodynamic modeling/systems.
Responsibilities:
- Design, develop, test, and maintain high-performance robotics software using C++.
- Develop and integrate robotic applications and software components using ROS2 and the Robot Operating System ecosystem.
- Build and maintain ROS2 nodes, publishers, subscribers, services, actions, parameters, and communication interfaces.
- Develop software for autonomous robotic platforms, ensuring reliability, scalability, and real-time performance.
- Work with hydrodynamic systems and models to support the development, simulation, control, and operation of robotic platforms.
- Integrate software with sensors, actuators, embedded systems, and robotic hardware.
- Collaborate with controls and robotics engineers to implement motion, navigation, localization, and autonomy capabilities.
- Debug complex software and hardware integration issues and conduct root-cause analysis.
- Develop automated unit, integration, and system-level tests to ensure software quality.
- Optimize software for performance, latency, memory usage, and computational efficiency.
- Participate in architecture discussions, technical design reviews, code reviews, and engineering documentation.
- Contribute to simulation environments and support testing of robotic systems in both simulated and real-world environments.
Requirement:
- 4–8 years of professional software development experience, with substantial experience in C++.
- Strong proficiency in modern C++ and object-oriented programming.
- Hands-on experience with ROS2 and the broader Robot Operating System (ROS) ecosystem.
- Strong understanding of ROS2 architecture, nodes, topics, services, actions, QoS, TF/TF2, and launch systems.
- Experience developing software for robotic or autonomous systems.
- Practical understanding of hydrodynamics/hydrodynamic systems, fluid dynamics concepts, or their application to marine/underwater robotics.
- Strong understanding of software development practices, debugging, version control, and testing.
- Experience working with Linux-based development environments.
- Ability to work effectively with hardware and software interfaces in robotics systems.
Benefits:
- Good-to-Have Skills: Experience with sensor fusion, localization, navigation, SLAM, simulation tools, and exposure to marine robotics.