Position title
Principal Software / Firmware Engineer

The software / firmware engineer designs, develops, modifies, tests, and debugs computer software (incl. graphical interfaces) or firmware programs on embedded processors (incl. digital signal processors), general purpose processors, graphics processors, field programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), or low-level devices using various languages to analyze and solve mathematical and scientific problems. The principal software / firmware engineer provides technical leadership on major tasks or projects where decision making and domain knowledge may have a critical impact on overall project implementation.

  • Participates in all phases of scientific and engineering projects such as research, design, development, testing, modeling, simulating, training, and documentation
  • Devises or modifies procedures to solve complex problems considering computer equipment capacity and limitations, operating time, and form of desired results; this may include development for analog and digital peripherals using pipelining and parallel processing methods
  • Develops detailed designs and associated documentation for software programs
  • Works with other engineers and end users to ensure applications meet requirements
  • Modifies/maintains complex existing applications using engineering releases and utilities from the manufacturer
  • Troubleshoots production problems related to software applications
  • Researches, tests, builds, and coordinates the conversion and/or integration of new products based on client requirements
  • Responds to suggestions for improvements and enhancements
  • Participates in development of user manuals and associated design and test documentation
  • Develops firmware and/or software with Xilinx tools, C/C++, Python, National Instruments PXI, Matlab/Simulink, and Linux
  • Bachelor's degree in an engineering discipline such as computer, software, or similar engineering discipline
  • At least 16 years of direct aerospace experience
  • Has direct space systems development experience
  • Has worked on multi-disciplinary teams of spacecraft engineers
  • Can work independently and as part of a team of his/her peers
  • Has experience setting and performing to technical milestone entrance/exit criteria
  • Has developed software release plans and associated documentation to manage software development activities
  • Has developed and used software metrics to guide development and design of large software systems
  • Comfortable presenting to diverse audiences including technical and non-technical experts and peers
  • Has familiarity with Agile / Scrum development principals and processes
Preferred Experience

The ideal candidate should have the following experience:

  • Directly working on multiple spacecraft programs performing system design and/or testing
  • In-depth experience in designing, developing, and testing systems incorporating a combination of FPGA firmware (HDL) and general-purpose processing software (C/C++)
  • Experience developing software/firmware applications for GPUs and/or other vector processing systems
  • Has led Agile / Scrum development efforts to successful delivery of software/firmware end items for space systems
  • Familiarity with JIRA, GIT, and similar software development environments

Falcon ExoDynamics believes in the diversity of teams and experiences. We are proud to be an Equal Opportunity/Affirmative Action Employer. We encourage veterans, disabled veterans and disabled individuals to apply for any open position for which they feel they are qualified.

Date posted
March 21, 2023
Employment Type
Citizenship / Clearance Requirements
  • U.S. Citizenship Required
  • Current/Active TS/SCI Preferred
Job Location
Los Angeles, CA, United States
PDF Export
Close modal window

Thank you for submitting your application. We will contact you shortly!