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. First Name * Last Name * Email * Phone * Location (City) * Resume * Cover Letter Allowed file types: pdf, doc, docx, rtf LinkedIn Profile School * Select a school Degree * Discipline * Start Date (Year*) End Date (Year*) + Add Another Education Neato Robotics has my consent to collect, store, and process my data for the purpose of considering me for employment.