Software Engineer
osaro
San Francisco
Posted Mar 13, 2019
- Full-time
Job description
We are seeking a full-time Senior Robotics Software Engineer to enhance the performance and efficiency of our robot control stack—integrating advanced perception systems and adaptive decision-making algorithms—to empower industrial robotic arms with the autonomy required for diverse, high-precision pick-and-place applications. You will lead the motion planning and control systems development at OSARO, optimizing our software architecture and code to deliver deterministic, real-time performance. In this role, you will collaborate closely with teams across Hardware, Infrastructure, and Machine Learning to integrate robust, production-grade solutions into our customers’ complex software environments. This role is ideal for candidates who are passionate about engineering solutions that bridge advanced robotics and real-time control, take full ownership of their work, and thrive in a challenging, collaborative environment. This role involves travel to customer sites, travel time can range from 35% (10.5 weeks on average a year). ### What You'll Be Doing - Direct the development of motion planning and control systems for industrial robotic arms, with a focus on high-precision, pick-and-place operations. - Design and implement robust software interfaces with industrial robotic arms to achieve deterministic, real-time performance. - Lead technical design discussions and code reviews with an emphasis on real-time performance, and system robustness. - Collaborate with robotics and controls engineers to design, implement, and validate advanced control algorithms. - Create reliable, production-grade code aimed at near-term deployment, with a focus on performance, robustness, and scalability. - Research and develop cutting-edge control strategies to continually improve the performance, robustness, and versatility of our robotic systems. - Traveling to customer sites to manage software deployments. ### Experience and Skills You'll Need - BS in Computer Science, Robotics, or related field. - 5+ years of experience in robotic control development, including experience with: - Developing and tuning control frameworks for robotic applications. - Trajectory optimization, kinematics, and motion planning for multi-axis robots. - Expertise in Rust or C++ with a proven ability in software design, architecture, and developing complex, real-time, multi-process systems. - Hands-on experience with industrial robotic arms, including direct development with low-level hardware controllers. - In-depth knowledge of robotic system design, integration, debugging, verification, and testing, particularly for industrial robotic manipulators operating in demanding, real-time environments. - Background working with robotic sensors (e.g., cameras, force sensors, grippers) involving sensor integration, calibration, or real-time data processing. ### Bonus if you have - MS or Ph.D. in Computer Science, Robotics, or related field. - Experience implementing algorithms for generating collision-free, time-optimal trajectories for robotic manipulators. - Experience working in an Agile development environment.