Your cart

Subtotal

Taxes and shipping calculated and discount codes entered at checkout Place your order Continue shopping

Job board

View more
San Jose, California

Robotics Software Engineer


Responsibilities:

As part of the Robotics Software Development team, you will be responsible for developing novel perception and navigation algorithms, and implementing performance and feature enhancements for Neato’s next generation of autonomous connected robots.  You will also be responsible for maintaining existing software codebase, troubleshooting robotic software bugs as they are identified.

You will work with highly skilled cross functional teams with experience in board support package development, cloud and application software development, software quality assurance engineers, continuous integration and test build teams and product owners to deliver robust and reliable software solutions to our extensive customer base.

Minimum Qualifications:

  • BS/MS in Computer Science, Computer Engineering, Electrical Engineering or related field with emphasis on probabilistic robotics.
  • At least 2 years of developing robotics system software in POSIX C/C++ (STL C++11 and up)
  • Working knowledge of common data structures (trees, stacks, priority queues, heaps hash tables and graphs) and algorithms: (Dijkstra, A*, breadth first search, depth first search, RRT).  Show ability to motivate usage of each by analyzing time and space complexity.
  • Working knowledge of at least one of the following Sensor Fusion mechanisms: SLAM (LiDR with wheel encoders), SLAM (camera with wheel encoders),  Complementary Filter (accelerometer and gyro), Strapdown Inertial Navigation System (GPS, gyro, accelerometer).
  • Working knowledge of Inter-Process Communication (IPC) mechanisms.
  • Working knowledge of thread safety in POSIX based multi-threaded programming.
  • Linux knowledge: bash scripting, signal/process creation, handling and monitoring.
  • Working knowledge of Git workflow for individual developer code contributions.
  • Strong communication skills (written and oral).

Desirable Qualifications:

  • Experience with Deep Learning Frameworks (Tensor Flow, Caffe, etc.).
  • Two years of Python object-oriented programming.
  • Real-time Operating System Programming, process and daemons priorities and scheduling (FreeRTOS and Embedded Linux with Real-time patch).
  • Code development based on Test Driven Development, Catch2.
  • Experience with code deployment on targets running Yocto distribution of Embedded Linux.

Let’s keep in touch

Join our mailing list for exclusive offers and news about products from Neato.

Compare Robot Vacuum models

Add at least two models to compare features

Compare selected
Can we help?