Robotics Software Engineer

Date:03 28, 2018

To apply, send resume and if applicable, a portfolio of your work to


Job Description
1. Work with physical robots ( robot arms, mobile robots, mobile manipulators, robot hands etc. ) in real-life environments
2. Implement algorithms and integrating software and libraries to enable robots to understand what it perceives, move around in various environments, and manipulate objects fully autonomously
3. Make hundreds of robots think and act faster, with methods in areas including network communication, cloud computing, parallel computing with multiple threads/CPU/GPU, code optimization with CPU instruction set etc.
4. Build tools to enable monitoring, maintaining and deploying software on hundreds of robots
5. Apply cutting-edge robotic technology on robust product.

Position Requirement
1.  Passionate about robots
2.  Robotics, Computer Science, or a related background
3.  Proficient with C++, familiar with scripting language like Python
4.  Good software engineering practice, follow required code style with concise comments
5.  Able to turn academic ideas into robust program
6.  Work with Linux and git.

Preferred Qualities
1. Visionary
2. Experience with multi-core architectures/speeding up algorithms by parallelization
3. Experience in creating computational efficient code that scales to multiple applications
4. Experience with ROS, OpenRTM, YARP, Choreonoid, OpenRave… or other robot software platform
5. Previous contributions to open source projects 
6. Strong background in (but not limited to)
    - machine learning
    - computer vision
    - autonomous navigation
    - planning
    - robotic manipulation
    - computational geometry
    - operations research