remote
Software Engineer II, Embedded Systems/Firmware - Google
Software Engineer
Develop and debug low‑level firmware for SoC platforms, leading bring‑up and silicon validation using C/C++ on ARM and RISC‑V architectures with industry‑standard debug tools.
About the role
Key Responsibilities
- Design, implement, and maintain firmware for bare‑metal SoC environments using C/C++.
- Lead hardware bring‑up activities, including initialization, peripheral configuration, and power management.
- Perform silicon bring‑up and debug using tools such as TRACE32, OpenOCD, and emulation platforms.
- Collaborate with hardware and software teams to validate firmware functionality and resolve issues.
- Develop test harnesses and automated validation suites to ensure firmware quality.
Requirements
- Bachelor’s degree in Computer Science, Electrical Engineering, or equivalent practical experience.
- At least 2 years of hands‑on experience developing embedded firmware in C/C++.
- Proficiency with ARM and/or RISC‑V architectures and experience bringing up bare‑metal environments.
- Strong debugging skills using TRACE32, OpenOCD, or similar hardware debug tools.
- Experience with industry‑standard software development practices, including version control, code reviews, and continuous integration.