The Space Dynamics Laboratory (SDL) is seeking a Software Engineer to help develop and expand expertise in algorithms and software for collaborative autonomy of unmanned systems, delivering innovative sensing and autonomy solutions to the US Government.
Requirements
- Working knowledge of software programming and testing using C/C++
- Experience with Linux and an understanding of how it works
- Experience with software version control and bug tracking tools (e.g., Git, Jira)
- Strong Linux experience
- Experience with hardware interfaces, networking, relational databases, and use of communication protocols (e.g., TCP/IP, UDP)
- Experience working with UAS and their components—including autopilot, GPS/IMU, cameras, gimbals, and radios
- Experience with object detection and classification using AI/ML
Responsibilities
- Designing, developing, and testing cutting-edge, real-time software solutions that power autonomous operation of various systems
- Developing software that enables collaborative autonomy of unmanned systems
- Evaluating and validating software in real-world scenarios during field tests and demonstrations
- Writing software interfaces to component level
- Troubleshooting with a Linux development system using GDB, Valgrind, and tcpdump
- Developing software interfaces to ArduPilot via the MAVLink messaging protocol
- Testing and validating software using unit testing, verification, validation, and bug reporting/tracking
Other
- Ability to communicate effectively, both verbally and in writing, with program management, customers, and colleagues
- Must be able to work independently and as a team member
- Must be willing to travel up to 20% of the year in support of field demonstrations
- Must be a US citizen with the ability to obtain and maintain a US Government Security Clearance
- BS in related field (i.e., computer science, computer engineering, electrical engineering)