Robotics Software Engineer
Location:    Santa Clara, CA / Shanghai, China
1. Collaborate closely with roboticists, computer vision engineers, mechanical engineers, test engineers, and robots.
2. Implement, test, debug, and maintain our robotic software modules.
3. Develop advanced algorithms/techniques for industrial robots.

1. MS or Ph.D. in computer science, robotics, or related field.
2. Knowledge of industrial robotics.
3. Knowledge of high DOFs dynamics and kinematics.
4. Experience with trajectory optimization, high DOFs motion planning (RRT, PRM). 
5. Experience with commercial software development processes: good software hygiene regarding code documentation, unit testing, bug tracking, and version control.
6. Proficiency in C++.
7. Experience with software development on/with robotic and/or automation platforms.
8. Experience with Linux system.
9. Experience with Git.
10. Experience with CMake.

Preferred Skills
1. Technical leadership experience.
2. Experience with continuous integration tools (like Jenkins).
3. Experience with user interface library such as Qt.
4. Working knowledge of a scripting language such as Python.
5. Experience with the Robot Operating System (ROS).
6. Experience with NVIDIA TK1, TX1/TX2.
7. Experience with industrial camera system.
8. A broad knowledge of robotic system such as, but not limited to, real-time OS, ethercat, motor control, computer vision.