About the role
Responsibilities:
- Embedded architecture authority: owning the technical architecture for all embedded subsystems, including MCU selection, peripheral allocation, RTOS versus bare-metal decisions, and power domain design.
- CAN and UART architecture oversight: setting interface standards, reviewing all CAN and UART implementations across product lines, and ensuring consistency with automotive migration requirements.
- FPGA integration: defining the interface contract between FPGA fabric and the application processor; overseeing HDL development and system bring-up in collaboration with the hardware team.
- Software-embedded interface ownership: defining and enforcing clean API boundaries between the firmware layer and the software stack, ensuring the software team is never blocked by ambiguous or undocumented embedded behavior.
- Hardware collaboration: participating in schematic and PCB layout reviews with a firmware and signal-integrity perspective; identifying hardware issues before they become firmware workarounds.
- Cross-layer failure investigation: owning root cause analysis when a failure does not present clearly within a single layer of firmware, hardware, or software.
- Team technical development: serving as the primary technical resource and architecture reviewer for all embedded engineers in the organization.
- Automotive and industrial readiness: maintaining a clear roadmap for how current embedded architecture evolves toward ISO 26262 CAN FD, AUTOSAR, and applicable functional safety standards.
- Full audit of the existing embedded architecture across all active products. Produce a single reference document mapping MCU and FPGA choices, interface protocols in use (CAN, UART, SPI, and I2C), RTOS or bare-metal approach per product, and known gaps or risks.
- Review the FPGA-to-software interface specification. If one does not exist, draft the structure and identify the decisions that need to be made. Flag any ambiguities that could result in integration failures.
- Attend a firmware code review and submit written technical feedback as though accountable for the codebase.
- Individual sessions with the software team and hardware team. Capture their primary current frustrations with the embedded layer. Produce a written synthesis of findings.
- Present a week-one architecture briefing to the team: current state of the embedded stack, the top three proposed changes with rationale, and the recommended priority order for implementation.