About Us:
Join an innovative AI-driven surgical robotics company that is transforming the future of healthcare through cutting-edge robotic technologies. Our advanced surgical systems aim to revolutionize the way surgeries are performed, improving precision, safety, and outcomes. We are seeking a highly skilled Staff System Software Engineer to help us drive this innovation at the intersection of software and hardware.
Job Description:
We are looking for an experienced System Software Engineer with expertise in both hardware and software, preferably with a background in robotics or related industries. In this role, you will architect and implement the core system software that powers our robotic systems. You will collaborate closely with cross-functional teams of hardware engineers, control system developers, and software architects to design, develop, and optimize software for real-time surgical robotics applications.
Key Responsibilities:
- Architect, design, and implement system software for AI-driven robotic systems.
- Develop and optimize real-time, multi-threaded, and multi-processed software solutions.
- Collaborate with hardware teams to integrate software with robotic hardware, including sensors, actuators, and control systems.
- Work with robotics platforms such as ROS or ROS 2, and optimize communication protocols and middleware.
- Design embedded software for Linux-based systems, ensuring performance, scalability, and reliability in real-time environments.
- Develop and implement efficient communication standards and protocols, including DDS, MQTT, and other middleware.
- Debug and troubleshoot complex system-level issues related to both software and hardware.
- Contribute to the overall system architecture, with a focus on optimizing the interaction between hardware and software.
Tech Stack:
- Programming Languages: Proficiency in C/C++ and Rust.
- Operating Systems: Expertise in Linux OS and embedded systems development.
- Robotics Platforms: Experience with ROS, ROS 2, or similar frameworks.
- Real-Time Systems: Deep understanding of real-time, multi-threaded, and multi-processed systems.
- Communication Protocols: Familiarity with DDS, MQTT, or other communication standards.
- Tools: Proficiency with GIT, JIRA, Confluence, and GitHub for collaboration and version control.
- Middleware: Experience with optimizing middleware solutions for high-performance robotic interfaces.
Qualifications:
- M.S. or Ph.D. in Computer Science, Computer Engineering, Electrical Engineering, Robotics, or a related field.
- 6+ years of experience in system software engineering, ideally with a focus on robotics, AI-driven systems, or related fields.
- Strong background in system architecture and the design of hardware-software interfaces.
- Experience with embedded systems, especially in real-time environments.
- Knowledge of multi-threading, multi-processing, and communication protocol optimization.