About this role
GeoControl Systems, Inc. as a HUBZone company, is required to maintain a Federally mandated level of employees that reside (home residence) in a qualified HUBZone. ONLY applicants whose home address lies in a qualified HUBZone will be considered for this position.
You can verify whether you reside in a HUBZone by using the following website:
https://maps.certify.sba.gov/hubzone/map
Are you passionate about
human space exploration, understanding the origins of the universe, and working
with a passionate and diverse team to make a difference? If you are, we need
you!
We need your talent,
teamwork, and energy to help us achieve great things that inspire people all
over the globe. We need you to bring creative ideas and diverse backgrounds to
help us envision, shape, and deliver systems that will enable the exploration
of space while benefiting people here on Earth. We are excited about what we
do, and we need you on our team as we take on exciting challenges for NASA’s
pursuits in deep space exploration. As NASA’s largest engineering solutions
provider working together with NASA at centers across the United States.
We have an exciting
opportunity for a Embedded Software Engineer to join the JETSII Contract
with GeoControls, a teammate company!
Design, develop, integrate,
test, and deliver embedded software for spacecraft flight and ground systems in
support of the NASA Johnson Space Center Engineering Directorate. This position
covers the full software development life cycle, from requirements definition
and architecture through design, implementation, verification, deployment, and
sustainment, for flight and ground hardware projects. The ideal candidate is a
hands-on engineer who is comfortable owning software from concept to delivered
hardware, working closely with hardware and electronics designers, and
delivering high-quality, well-documented products.
The Embedded Software
Engineer will:
- Perform
full life cycle development of embedded software for spacecraft flight and
ground systems, including requirements analysis, architecture, detailed
design, coding, integration, test, verification, deployment, and
operational support
- Develop,
refine, and maintain software requirements derived from system and
subsystem requirements, with bi-directional traceability through design,
implementation, and verification
- Design
and implement embedded C/C++ flight and ground software for functions such
as subsystem monitoring and control, command and data handling, telemetry
and commanding, and fault detection, isolation, and recovery
- Develop
device drivers and hardware interfaces to flight and ground electronics,
including sensors, ADCs, and serial and bus interfaces (e.g., SPI, I2C,
CAN, UART, RS-422)
- Develop
software using Core Flight System (cFS) where possible and applicable
- Collaborate
with hardware and electronics design engineers on hardware/software
interface definition, board bring-up, integration, and troubleshooting
using lab equipment such as oscilloscopes, logic analyzers, and JTAG
debuggers
- Develop
and execute unit, integration, and system-level tests, including
simulation-based and hardware-in-the-loop testing; develop test
automation, analyze results, and identify, debug, and resolve defects
- Author
software life cycle documentation scaled to project needs, such as
software management and development plans, interface control documents,
design descriptions, test plans, procedures, and reports, and version
description documents
- Ensure
adherence to JSC standard software process practices and tailor NASA NPR
7150.2 requirements to the software classification and project scope
- Support
software safety activities for safety-critical software in accordance with
NASA-STD-8739.8, including software hazard analysis support and
implementation of safety-related requirements
- Apply
configuration management, defect tracking, static analysis, and code
coverage practices to maintain software quality and traceability
- Support
hardware/software integration and qualification testing, including test
setup, data collection, and data analysis
- Participate
as a key member of project teams, collaborating with systems engineers,
hardware designers, and internal or outsourced development partners across
multiple NASA programs and projects to deliver reliable, cost-effective,
and high-quality solutions
- Lead or
contribute to the resolution of complex technical issues, facilitating
effective team decision-making
- Perform
technical peer review of flight, ground system, and development software
as well as the associated requirements and verification/validation plans
- Perform
other duties as assigned
Requirements
Requisition Qualifications
This position has been posted at multiple
levels. Depending on the candidate's experience, requirements, and
business needs, we reserve the right to consider candidates at any level for
which this position has been advertised.
- EN2
Typically requires a bachelor's degree in Engineering and a minimum of 2-
5 years of experience in the field or in a related area.
- Must be
a U.S. Citizen and must be able to complete a U.S. government background
investigation
- Bachelor’s
degree in Software, Computer, Electrical or Systems Engineering, Computer
Science, or a related discipline
- Proficiency
with the full embedded software life cycle, including requirements,
design, implementation, testing, deployment, and operational support
- Proficiency
in C and/or C++ for embedded systems
- Proficiency
with scripting languages such as Python
- Experience
with firmware development, embedded software, and hardware/software
integration on microcontroller or embedded processor platforms
- Experience
developing device drivers and interfacing with hardware using common
serial and bus protocols
- Experience
with software testing and verification, including unit and integration
testing of embedded software
- Experience
debugging embedded systems using lab equipment and debugging tools (e.g.,
oscilloscopes, logic analyzers, JTAG)
- Familiarity
with Integrated Development Environment (IDE) tools
- Excellent
communication, negotiation, and coordination skills and strong customer
service attitude
- Good
oral and written communication with customers and team members
- Excellent
time management skills and ability to manage multiple actions, and both
short-term and long-term projects
- Must be
willing to work onsite at Johnson Space Center and/or associated facility
Requisition Preferences:
- Experience
with spacecraft subsystem software or avionics hardware (e.g., power,
thermal, propulsion, C&DH, GN&C)
- Experience
implementing control, state estimation, or fault management algorithms in
embedded software
- Experience
in a leadership role and working as part of an Integrated Product Team to
develop and test safety-critical flight software
- Experience
with real-time operating systems (e.g., VxWorks, RTEMS, FreeRTOS) and Core
Flight System (cFS)
- Experience
developing software across the full development life cycle in small team,
rapid prototyping, or proof-of-concept environments
- Experience
developing simulation test automation, test analysis, and troubleshooting,
including test scripts in Python and Trick
- Experience
developing test plans and procedures for both functional and V&V tests
- Experience
with managing a small team of embedded software engineers developing
spacecraft ground and flight software
- Experience
with embedded coding standards and static analysis tools (e.g., MISRA C,
JPL coding standards)
- Ability
to read electrical schematics and datasheets
- Experience
in human-rated space vehicles and specific vehicle software domains (e.g.,
C&T, C&DH, GN&C)
- Support
work processes in an organization that is CMMI Maturity Level III
- Experience
with NASA NPR 7150.2 or DO-178C
- Experience
with NASA Safety Standards and requirements, NASA-STD-8739.8, that drive
the processes for Safety Critical Software Development
- Experience
with the following collaboration tools: GitLab, JIRA, Confluence
- Quick
learner and self-motivated
- Ability
to manage multiple priorities with little supervision
- Highly
responsible, team-oriented individual with strong work ethics
### Benefits
GCS health and welfare benefits are designed to invest in you, and in the things you care about. Your health. Your well-being. Your security. Your future. Typical benefits offered include flexible work schedules and opportunities to work remotely, educational reimbursement, retirement benefits (401K, Roth), health benefits, tax saving options, disability benefits, life and accident insurance, voluntary benefits, paid time off and paid holidays, and parental and pregnancy leave