About the RoleAs 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.
Interview Process- Application Review - Coding Test - 1st interview - 2nd interview - Offer Negotiation - Hiring
- 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.
CompensationAdditional 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.- How to work in 42dot, About 42dot Way →