Embedded Software Engineer
Location: California
Duration: Long-Term Contract
Special Note:
Only U.S. Citizens (USC) are eligible to apply.
Key Responsibilities
-
Participate in the complete Software Development Life Cycle (SDLC), including requirements analysis, software design, development, integration, testing, and maintenance.
-
Develop and maintain embedded software applications using
C/C++
.
-
Perform board bring-up, OS bring-up, and device driver development for embedded platforms.
-
Integrate and validate embedded hardware and software components.
-
Develop and execute Hardware-in-the-Loop (HIL) testing.
-
Debug, troubleshoot, and optimize embedded software for performance, stability, and reliability.
-
Collaborate closely with hardware, systems, verification, and cross-functional engineering teams.
-
Ensure software complies with
DO-178
safety and quality standards.
-
Support system integration, verification, and documentation throughout the project lifecycle.
Required Qualifications
-
Bachelor's or Master's degree in Computer Engineering, Electrical Engineering, Computer Science, or a related field.
-
Strong experience developing embedded software using
C/C++
.
-
Hands-on experience with
DO-178B/DO-178C
for safety-critical software development.
-
Experience with
Hardware-in-the-Loop (HIL)
testing.
-
Experience using
National Instruments (NI) hardware
and
LabVIEW
.
-
Strong knowledge of board bring-up, OS bring-up, and device driver development.
-
Experience with embedded communication interfaces including:
-
UART
-
USB
-
Ethernet
-
SPI
-
I2C
-
RS-232 / RS-422
-
Familiarity with communication protocols such as:
-
CAN
-
TCP/IP
-
UDP
Preferred Qualifications
-
Experience with
MIL-STD-882E
and
JSSSEH
.
-
Knowledge of
Time Sensitive Networking (TSN)
.
-
Experience developing software for avionics, aerospace, defense, or other safety-critical embedded systems.
-
Excellent problem-solving, debugging, and communication skills.