Senior Firmware Engineer
Develop embedded firmware and a device SDK for high-performance connectivity silicon used in AI infrastructure. Work across the product lifecycle, from pre-silicon emulation and silicon bring-up to customer deployment.
Responsabilidades
- Design, implement, and maintain real-time embedded firmware in C.
- Develop low-level drivers, initialization flows, interrupt handling, and hardware control logic.
- Bring up and debug firmware in pre-silicon emulation environments and on silicon.
- Define hardware/firmware interfaces with architecture, design, and verification teams and resolve cross-boundary issues.
- Triage firmware issues reported by validation teams, product applications, and customers.
- Develop SDK capabilities, including APIs, device management, firmware updates, telemetry, and diagnostics.
- Support customer use cases and integration with product applications and field teams, adapting firmware and SDK features to customer needs.
- Participate in design and code reviews and improve firmware quality, tooling, and development practices.
- Coordinate feature delivery with firmware teams across sites.
Requisitos
- 10+ years of hands-on firmware engineering experience.
- Bachelor’s or master’s degree in Computer Science, Electrical Engineering, Computer Engineering, or a related field.
- Experience developing embedded and real-time firmware.
- Strong C programming skills for bare-metal or RTOS-based resource-constrained systems.
- Understanding of processor architecture, memory-mapped registers, interrupts, and hardware/software interaction.
- Strong real-hardware debugging skills, including JTAG, logs, and register-level analysis.
- System-level understanding of how silicon, firmware, SDKs, host software, and platforms interact.
- Ability to translate customer requirements into technical solutions.
Se valora
- Experience with pre-silicon emulation platforms such as Cadence Palladium or Synopsys ZeBu.
- Knowledge of PCIe, including link training, enumeration, configuration space, and error handling.
- Experience building SDKs, host-side libraries, or APIs in C, C++, or Python.
- Customer integration or field issue support experience.
- Experience bringing up new SoCs.
- Python scripting for test automation, debugging, or data analysis.
- Familiarity with Linux development tools and CI workflows.