Robotics Software Engineer

Date:03 28, 2018

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


Job Description
1.  Work on robot arms, mobile robots, mobile manipulators, and robot hands.
2.  Integrate libraries and other software that allow robots to autonomously perceive their environment, navigate surroundings, and manipulate objects.
3.  Implement algorithms for autonomous operation.
4.  Make fleets of robots think and act faster using network communication, cloud computing, parallel computing with multiple threads/CPUs/GPUs, and code optimization with CPU instruction sets.
5.  Build tools to monitor, maintain, and deploy software for fleets of 100+ robots.
6.  Apply cutting-edge robotics technology to build amazing products.

Position Requirements
1.  Passionate about robots.
2.  Robotics, computer science, or a related background.
3.  Proficient with C++, familiar with scripting languages like Python.
4.  Strong software engineering skills; can follow required coding styles.
5.  Able to turn academic ideas into robust programs.
6.  Experience working with Linux and Git.

Preferred Qualifications
1.  Experience with multi-core architectures/speeding up algorithms with parallelization.
2.  Experience in creating efficient computational code that scales to multiple applications.
3.  Experience with ROS, OpenRTM, YARP, Choreonoid, OpenRave, or other robot software platforms.
4.  Previous contributions to open source projects.
5.  Strong background in any of the following areas:
    - machine learning
    - computer vision
    - autonomous navigation
    - motion planning
    - robotic manipulation
    - computational geometry
    - operations research