Software Engineer

Job Qualifications:

This position will design and develop flight or mission-critical onboard software for UAV systems.  As part of a dynamic, multidisciplinary team, the candidate will participate hands-on in the full software life-cycle, from concept through implementation, integration all the way to flight test.

Specifically the candidate will:

  • Define, analyze and review software requirements to meet defined and anticipated customer needs and system quality and performance standards.
  • Collaborate with other enigneering disciplines in planning, design and development of systems to ensure software and hardware performance and compatibility
  • Design software architecture and interfaces and implement functionality using a model-based approach. 
  • Write test plans and test cases, conduct unit-, integration-, and system-level testing.

Typical software functionality for a UAS includes guidance, navigation & control, mission sequencing, payload control, redundacy and contingency management, uplink and downlink packet encoding and decoding, converting between different serial protocols, hardware-in-the-loop simulation, ground based GUIs, and aircraft subsystem control (i.e., engine, electrical system, fuel system).

Minimum Requirements:

  • B.S. in Computer Science or applicable engineering or science field, Master's degree preferred.
  • 0 to 5 years of experience.
  • Must be willing and able to be an active contributor (developer) in any of the software life-cycle phases.
  • Must have at least one year of hands-on professional experience in at least one, ideally a combination, of the following areas:
    • Model-based design and/or test using the Simulink/Stateflow tool chain.
    • Software development in a relevant subject matter area:  UAS or other robotic system guidance, navigation and control; ground- or airborne mission systems; general aerospace flight control or cockpit avionics systems; ground stations; payload control.
    • Development/operations of hardware-in-the-loop simulators, conducting testing and troubleshooting of HW/SW interfaces.
    • Service Oriented Architectures (SOA) applied to aerospace or military systems (C2, payload data, etc.)
  • Must be willing to work under, and help refine, a defined software development process.
  • Prior experience in any of the following areas is a plus:
    • Work experience or internship with developing production software in an autonomous vehicle or robotics environment.
    • Operating in a regulated development environment, like CMMI (level 3 or higher) or DO-178B.