View all jobs

Lead Software Engineer

Gaithersburg, MD

The Lead Software Engineer will be responsible for…

  • Leading a team of engineers to develop software for robotic systems for DoD customers 
  • Designing and implementing software using C/C++ in a Linux environment.
  • Developing/ improving algorithms for data processing and intelligent control of unmanned vehicles and sensor systems
  • Working alongside systems and hardware engineering teams to integrate software into robotic systems and subsystems
  • Working with subject matter experts to define hardware and software architectures for autonomous systems
  • Interfacing with customers
  • Mentoring software team members
  • Documenting activities, preparing technical reports, presenting results, and demonstrating system capabilities
  • Traveling for field tests and project meetings
  • Testing in outdoor, sometimes austere, conditions 
  • Identifying capability gaps of the software team and plan/identify resources to fill those gaps

Required Skills & Abilities:  

  • The leadership skills to manage a team of engineers to develop and maintain autonomous systems
  • Strong programming ability in C/C++ and other programming languages
  • Strong software debugging skills
  • Strong familiarity with development in a Linux environment 
  • Experience in other fields with complex electro-mechanical systems (aerospace, automotive, medical) may be considered
  • Experience with leading small to medium software or mixed hardware-software teams 
  • Experience mentoring software engineers
  • Candidate should be a self-motivated, flexible team player with good written and oral skills, able to prioritize efforts on the fly in a fast-paced environment.

Education & Experience: 

  • B.S. in an Engineering Discipline, Computer Science, Mathematics, Applied Mathematics, or Physics
  • A minimum of 5 years of experience with algorithms, software development and field testing in the field of robotics

Preferred Qualifications: 

  • Experience with Robot Operating System (ROS) 
  • Understanding of Python, MATLAB, Java, and other computer languages
  • A broad base of algorithm understanding, including in areas such as:
  • Sensor processing (LIDAR, cameras, RADAR, inertial, etc.) 
  • Computer Vision and Deep Learning 
  • Controls for ground vehicles
  • Path planning 
  • Localization/navigation algorithms 
  • Systems engineering experience, including requirements derivation, allocation, verification and validation.
  • Familiarity with safety critical software development practices
  • Experience with defense or other government contracts
  • Experience with continuous integration systems and containerization (e.g., Jenkins, Docker)
  • M.S. or Ph.D. in an Engineering Discipline, Computer Science, Mathematics, Applied Mathematics, or Physics.
  • 10+ years of experience in software development for robotics or other complex electro-mechanical systems.

Share This Job

Powered by