Today
Unspecified
Early Career (2+ yrs experience)
Occasional travel
IT - Software
JOB SUMMARY: The NASA SES III contract provides services to include the design, development, implementation, and integration of science data processing applications and technology; supports instrument, spacecraft, and mission development.
The Science Data Processing Branch (Code 587) in collaboration with other branches has developed a computing platform known as SpaceCube. SpaceCube is a family of Field Programmable Gate Array (FPGA) based on-board science data processing systems that provide substantial improvements in onboard compute capability and feature modularity and reconfigurability making them ideally suited for deployment on a variety of missions.
The Science Data Processing Branch (Code 587) is seeking a qualified candidate to serve as a Hardware Interface Software Engineer to support the Lunar Communications Relay and Navigation Systems (LCRNS) Project development efforts.
The Lunar Communications Relay and Navigation Systems (LCRNS) Project enables lunar-space communications and position, navigation, and timing (PNT) services in support of NASA’s human and robotic lunar exploration under the auspices of the Space Communications and Navigation (SCaN) Program Office, in the Space Operations Mission Directorate (SOMD). Among other responsibilities, LCRNS provides capabilities to cover engineering/technical gaps, and in this case this capability is related to a hardware/software testbed used in the verification of the measurement concept to support accurate onboard position and velocity determination. SpaceCube will provide the hardware platform on which to develop such TRL-5 maturity testbed. Location: This position is a hybrid position and will require a minimum of 2 days/week at the office depending on needs from customer. Candidate must be able to support the East Coast time zone and occasional visits to NASA Goddard Space Flight Center, Greenbelt, MD.
PRIMARY DUTIES:
Writes device drivers for and the configuration of Linux and real-time operating systems such as RTEMS.
Provide the RTEMS drivers and libraries required to interface with the SC3Mini hardware including custom FPGA IP cores that are under active development.
Maintain, configure and update the boot process (including first stage boot loader, uboot, and SpaceCube Manager app) as necessary and perform testing of the boot process.
Develops and integrates core Flight Software (cFS) Applications with related ground support software, Platform Support Package (PSP), and boot infrastructure.
Provide software engineering and development support to the LCRNS NavCube and AutoNGC teams. Development activities include requirements analysis and definition, software design, code, unit-test, integration testing, formal build testing, software documentation, presentations, demos, and reviews as requested by LCRNS.
REQUIREMENTS:
Experience with device driver programming, bootloader configuration and development, and flight software programming.
Experience with software systems life cycle, requirement analysis, specifications and design, software development and integration and testing, and communication networks.
Demonstrated skills in conducting internal software design reviews and monitoring flight software development.
Demonstrated skills in real-time and/or embedded software development using the C programming language, the Linux operating system, and real-time operating system kernels such as RTEMS, VxWorks, or FreeRTOS.
Demonstrated utilization knowledge of Software Configuration Management Systems such as the Git and Jira configuration and issue tracking tool.
Experience with one or more of the following: PetaLinux, Xilinx Vivado, and U-Boot.
Experience with C++ and Python.
Demonstrated skills in integrating software and hardware into production labs.
Experience with software version control (Github) and Jira or a similar project management and issue tracking tool
PREFERRED QUALIFICATIONS:
Experience with RTEMS
Experience with NASA software design guidelines.
Desired candidate must be able to work both independently and in a team environment and use knowledge of design with standard laboratory equipment to troubleshoot issues that occur during tests to ensure a quality final product.
Knowledge of cFS programming across all the layers of cFS.
Experience with uart, i2c, gpio, network interfaces.
General debugging with gdb and elf tools.
Experience with technical software documentation.
RELEVANT EXPERIENCE: Minimum of 3 years of professional software development.
EDUCATION/CERTIFICATION: Bachelor’s Degree or equivalent experience in computer sciences, engineering, or mathematics.
CLEARANCE: US Citizenship is required, and Section 508 (Agency Standards) is applicable. Ability to obtain required National Agency Check (NAC) clearance.
The Science Data Processing Branch (Code 587) in collaboration with other branches has developed a computing platform known as SpaceCube. SpaceCube is a family of Field Programmable Gate Array (FPGA) based on-board science data processing systems that provide substantial improvements in onboard compute capability and feature modularity and reconfigurability making them ideally suited for deployment on a variety of missions.
The Science Data Processing Branch (Code 587) is seeking a qualified candidate to serve as a Hardware Interface Software Engineer to support the Lunar Communications Relay and Navigation Systems (LCRNS) Project development efforts.
The Lunar Communications Relay and Navigation Systems (LCRNS) Project enables lunar-space communications and position, navigation, and timing (PNT) services in support of NASA’s human and robotic lunar exploration under the auspices of the Space Communications and Navigation (SCaN) Program Office, in the Space Operations Mission Directorate (SOMD). Among other responsibilities, LCRNS provides capabilities to cover engineering/technical gaps, and in this case this capability is related to a hardware/software testbed used in the verification of the measurement concept to support accurate onboard position and velocity determination. SpaceCube will provide the hardware platform on which to develop such TRL-5 maturity testbed. Location: This position is a hybrid position and will require a minimum of 2 days/week at the office depending on needs from customer. Candidate must be able to support the East Coast time zone and occasional visits to NASA Goddard Space Flight Center, Greenbelt, MD.
PRIMARY DUTIES:
Writes device drivers for and the configuration of Linux and real-time operating systems such as RTEMS.
Provide the RTEMS drivers and libraries required to interface with the SC3Mini hardware including custom FPGA IP cores that are under active development.
Maintain, configure and update the boot process (including first stage boot loader, uboot, and SpaceCube Manager app) as necessary and perform testing of the boot process.
Develops and integrates core Flight Software (cFS) Applications with related ground support software, Platform Support Package (PSP), and boot infrastructure.
Provide software engineering and development support to the LCRNS NavCube and AutoNGC teams. Development activities include requirements analysis and definition, software design, code, unit-test, integration testing, formal build testing, software documentation, presentations, demos, and reviews as requested by LCRNS.
REQUIREMENTS:
Experience with device driver programming, bootloader configuration and development, and flight software programming.
Experience with software systems life cycle, requirement analysis, specifications and design, software development and integration and testing, and communication networks.
Demonstrated skills in conducting internal software design reviews and monitoring flight software development.
Demonstrated skills in real-time and/or embedded software development using the C programming language, the Linux operating system, and real-time operating system kernels such as RTEMS, VxWorks, or FreeRTOS.
Demonstrated utilization knowledge of Software Configuration Management Systems such as the Git and Jira configuration and issue tracking tool.
Experience with one or more of the following: PetaLinux, Xilinx Vivado, and U-Boot.
Experience with C++ and Python.
Demonstrated skills in integrating software and hardware into production labs.
Experience with software version control (Github) and Jira or a similar project management and issue tracking tool
PREFERRED QUALIFICATIONS:
Experience with RTEMS
Experience with NASA software design guidelines.
Desired candidate must be able to work both independently and in a team environment and use knowledge of design with standard laboratory equipment to troubleshoot issues that occur during tests to ensure a quality final product.
Knowledge of cFS programming across all the layers of cFS.
Experience with uart, i2c, gpio, network interfaces.
General debugging with gdb and elf tools.
Experience with technical software documentation.
RELEVANT EXPERIENCE: Minimum of 3 years of professional software development.
EDUCATION/CERTIFICATION: Bachelor’s Degree or equivalent experience in computer sciences, engineering, or mathematics.
CLEARANCE: US Citizenship is required, and Section 508 (Agency Standards) is applicable. Ability to obtain required National Agency Check (NAC) clearance.
group id: 10481245