7+ years of embedded software engineering experience in production-grade firmware for resource-constrained platforms.
Expert-level proficiency in C/C++, including memory management and debugging optimized code.
Proven experience with RTOS design and debugging, including task scheduling and resource management.
Hands-on experience with static analysis tools and managing code quality.
Solid understanding of MCU architectures and low-level driver development.
Experience with hardware bring-up and debugging using lab equipment.
Knowledge of functional safety standards like ISO 26262.
Responsibilities
Architect, develop, and maintain low-level board support packages and peripheral drivers in C/C++.
Write deterministic C code adhering to MISRA C and ISO 26262 guidelines.
Configure and optimize RTOS environments, managing task scheduling and timing constraints.
Lead hardware bring-up for prototype boards and perform system characterization.
Troubleshoot hardware/software interaction issues using advanced debugging tools.
Collaborate with cross-functional teams to define hardware/software interfaces and validate code.
Utilize Python or shell scripting for tooling and automation tasks.
Benefits
Opportunity to work on next-generation automotive platforms.
Hands-on role with a focus on high-performance, real-time software development.
Collaborative environment with cross-functional teams.
Exposure to cutting-edge technologies in the automotive sector.
Commitment to functional safety and quality standards.
Full Job Description
About the Role
As a Senior Embedded Firmware Engineer, you will design, implement, and optimize the core real-time software stack powering 42dot's next-generation automotive platforms. You will work across the full embedded spectrum-from low-level driver development, board support packages (BSPs), and hardware interfaces up to RTOS task management, communication protocols, and real-time application logic.
This hands-on role is centered on writing high-performance, deterministic C/C++ code adhering strictly to MISRA C guidelines. You will bring up custom hardware, characterize real-time system performance, and enforce ISO 26262 functional safety standards to ensure robust execution on Hyundai's SDV platform.
Responsibilities
Full-Stack Embedded Firmware: Architect, develop, and maintain low-level board support packages (BSPs), peripheral drivers (GPIO, ADC, PWM, Timers), communication stacks (CAN-FD, Ethernet/TSN, SPI, I2C, UART), and application layer logic in C/C++.
MISRA Compliance & Safety Coding: Write deterministic, defensive C code conforming to MISRA C rules and ISO 26262 functional safety guidelines (ASIL-D trajectory), maintaining zero critical static analysis violations.
RTOS Architecture & Tuning: Configure and optimize RTOS/OS environments (e.g., FreeRTOS, SafeRTOS, AUTOSAR OS), managing task scheduling, interrupt service routines (ISRs), IPC, memory allocation, and timing constraints.
System Bring-Up & Characterization: Lead hardware bring-up for prototype boards in the Sunnyvale electronics/vehicle labs; perform deep system characterization, execution profiling, interrupt latency tuning, and power/resource management.
Low-Level Debugging: Troubleshoot complex hardware/software interaction issues using JTAG/SWD debuggers, logic analyzers, oscilloscopes, and protocol analyzers (Vector CANoe, Wireshark).
Cross-Functional Collaboration: Partner with hardware design teams, systems engineers, and V&V teams to define hardware/software interfaces (ICDs), execute bench testing, and validate code on target microcontrollers.
Tooling Support: Utilize Python or shell scripting for host-side tooling, build automation, test harness integration, and flashing utilities.
Qualifications
Experience: 7+ years of hands-on embedded software engineering experience delivering production-grade firmware for resource-constrained platforms (Automotive, Aerospace, Medical Devices, Industrial Robotics, or Consumer Electronics).
C/C++ Mastery: Expert-level proficiency in embedded C and C++, including pointers, memory management, concurrency, data structures, compiler behavior, and debugging optimized code.
RTOS Experience: Proven experience designing and debugging production software on an RTOS, including task scheduling, synchronization, interrupt handling, inter-task communication, resource management, and timing analysis.
Static Analysis: Hands-on experience using static analysis tools such as Coverity, Polyspace, QAC, Cppcheck, or equivalent tools. Experience triaging findings, correcting defects, and managing justified suppressions is required.
Full-Stack Real-Time Depth: Solid understanding of entire MCU architectures (ARM Cortex-M/R, TriCore, or similar), bare-metal/RTOS abstractions, register-level driver development, and bus protocols (CAN/CAN-FD, SPI, I2C, Ethernet).
Hardware Bring-Up & Debugging: Hands-on experience bringing up new silicon/PCBs and using hardware lab equipment (oscilloscopes, logic analyzers, bus analyzers) to isolate low-level bugs.
Functional Safety Background: Working knowledge of developing software under a regulated safety framework (ISO 26262, IEC 62304, DO-178C) with trace-to-requirements discipline.
Modern Tooling: Proficiency with Git, Bazel, and CI/CD pipelines for automated firmware compilation, static analysis, and testing.
Preferred Qualifications
Automotive Protocols & Stacks: Direct exposure to ISO 14229 (UDS), SOME/IP, DoIP, or automotive Ethernet stacks.
Multi-Core & Hardware Security: Experience with multi-core microcontrollers, Hardware Security Modules (HSM), or secure boot implementation.
Secondary Scripting: Proficiency in Python or C++ for creating custom developer tools, hardware-in-the-loop (HIL) automation, or build infrastructure.
MISRA and Safety Coding Standards: Experience developing software under MISRA C, MISRA C++, CERT C/C++, or comparable coding standards.
Communication Protocol Development: Experience designing, implementing, integrating, or debugging communication protocols, including message formats, serialization, state machines, error handling, fault recovery, and interoperability testing.
Object-Oriented Development: Experience developing production software in an object-oriented programming language and applying encapsulation, interface design, composition, and suitable design patterns.
The screening procedures may vary depending on the position, schedule, or other circumstances. You will be individually notified of the screening schedule and results via the email address provided in your application.
Compensation
$175,000 - $248,000
Additional Information
In accordance with fair hiring practices, do not include any personal information unrelated to your job qualifications (e.g., Social Security Number, family relations, marital status, age, photo, physical condition, place of birth, etc.) in your resume.
All documents must be submitted in PDF format and under 30MB in size.
If you experience issues uploading your resume, please send it along with the job posting URL to [redacted].
We strongly encourage applications from U.S. veterans and candidates eligible for employment preference under applicable laws.
※ Please review the following information before applying.