Software Engineer

Summary:

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, and all the way to flight test. 

Specific Responsibilities:

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 engineering 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, redundancy and contingency management, higher-level autonomy functions, hardware-in-the-loop simulation, ground based GUIs, and aircraft subsystem control  (i.e., engine, electrical system, fuel system).

Minimum Requirements (education and experience):

  • 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:
  • Must be willing to work under, and help refine, a defined software development process.
    • 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.
    • Significant C++ or Python experience.

Desired Qualifications:

  • Prior experience in any of the following areas is a plus:
    • Work experience or internship with developing software in an autonomous vehicle or robotics environment.
    • Operating in a regulated development environment, like CMMI (level 3 or higher) or DO-178B. 
    • Experience in machine learning, artificial intelligence, and neural networks.
    • Experience with software certification, particularly for aerospace applications.