ASI is one of the fastest growing robotics companies in the United States, and we are always looking for the best and brightest engineers to join us. ASI values employees, wants them to work hard and play hard and provides amazing benefits to attract and retain top talent.
The responsibilities of the Software Engineer include developing innovative perception, localization, and mapping software for use on robotic platforms.
**Essential Duties and Responsibilities**
* Participate with a team of software engineers in full-cycle investigation, evaluation, design, development, and improvement of innovative robotic systems.
* Apply industry standard design principles and patterns to create understandable, portable, and usable software.
* Test, evaluate, and integrate perception, localization, and mapping systems on ground mobile robots.
* Test products at the unit, component and system level by using TDD.
* Participate in the design and implementation of algorithms, while working with software, electrical, and mechanical engineers and managers.
* Work well with customers both on and off site.
* Willing to spend time in data gathering, analysis, development, and testing of new technologies and algorithms.
**ESSENTIAL EDUCATION, WORK EXPERIENCE, JOB SKILLS**
* Bachelors Degree in Computer Science, Computer Engineering or Electrical Engineering, Robotics or related field with 4+ years of experience. Masters Degree in Robotics or CS preferred.
* Experience in C++ programming (preferably C++11 or higher)
* Experience with ROS
* Experience with Linux and Windows
* Experience with VCS (Mercurial, or Git preferred)
* Experience in Python or Matlab a plus
* Preferred experience with path planning and search algorithms, obstacle detection and avoidance, SLAM, and embedded processing
* Must be able to communicate technical concepts effectively with customers and peers
* Able to work independently as well as in team and multiple team assignments
* Ability to support existing techniques and ideas in the field.
* Ability to implement algorithms for testing and deployment on vehicles.
* General troubleshooting skills with component software, electrical and mechanical systems.