Job Description

Principal Robotics Software Engineer
Direct Hire, FTE Salary
Must be US Citizen

Required Qualifications:

B.S. in Robotics, Computer Engineering, Computer Science or Equivalent plus 7-10 years’ experience.

MS in Robotics, Computer Engineering, Computer Science or Equivalent plus 5-7 years’ experience.

Expertise with the Robot Operating System (ROS) software framework and build system Catkin.

Experience with physics-based software simulation systems, such as Gazebo

Knowledge on robotics autonomy architectures, 2D/3D mapping, localization and navigation ODOA path planning algorithms for Unmanned Ground Vehicles (UGV) such as Simultaneous Localization and Mapping (SLAM), Extended Kalman Filters (EKF), A*, D*, Dijkstra, etc.

Working with various sensors such as LiDAR, IMU/INS, Compass/Magnetometers, Gyroscopes, RADAR, Accelerometers, GPS, RADAR, and implementation of ROS sensor drivers

Experience developing C/C++ applications in a Linux environment

Experience in real-time, robotics, instrumentation, data collection and analysis

Experience developing software algorithms for hardware systems

Experience with RS232, TCP/IP, UDP, data communications

Fluent with Linux and command line tools (like package managers, git, debugging tools, etc.)

Hands-on system level integration, automation and computer networking skills

Experience using software development tools such as configuration control, bug tracking, code reviews, unit testing, and continuous integration

Strong knowledge and experience with the Software Development Life Cycle

Excellent written and verbal communications skills

Strong attention to detail and quality.

Flexible, self-started, desire to solve any problem

Software skills: C/C++ and Python, ROS, ROS2, CMake, gcc, Make, Scons, Bash

U.S. citizenship


Desired Qualifications:


Experience with the Robot Operating System ROS Version 2 (ROS2) and build system Colcon.

Experience with the Data Distribution Service (DDS) middleware.

Experience in software development for military applications

Design and implementation of production-quality modular reusable software components

Experience developing embedded applications for Micro Controllers

Experience with bus protocols such as CAN, SPI, and I2C

Working knowledge of the Linux kernel build process and device driver development

Experience with feedback based closed loop control for unmanned ground vehicles (UGV)

Knowledge of real-time computing, machine learning (GPU-based computing), and computer vision algorithms commonly used in autonomous vehicles.

Demonstrated ability to build, test, and deliver robust autonomous vehicle software capabilities in complex real-world environments.

Multi-threaded Application development

UI development

Application Instructions

Please click on the link below to apply for this position. A new window will open and direct you to apply at our corporate careers page. We look forward to hearing from you!

Apply Online