Rewrite
## About the role
You will contribute to the architecture and design of various firmware components, including driver interfaces (PCIe, SPI, I2C, I3C), system libraries needed for SoC bring-up, protocol and feature development of low-level hardware. You will be contributing to all phases of product development, from design through manufacturing and productization. Perform system-level debugging and troubleshooting to identify and resolve complex hardware/firmware-related issues. Collaborate with cross-functional teams including hardware architects and engineers, software developers, validation & integration and product managers to define firmware requirements and specifications. Stay up to date with industry trends and advancements in cloud firmware technologies and provide recommendations for improvement.
## Requirements
* Bachelors or higher in Computer Science, Computer Engineering, Electronics Engineering, or similar.
* 4+ years of professional experience in firmware development or embedded software development in a multicore environment.
* Solid understanding of computer architectures including processors, buses, and memories.
* Demonstrated experience of hardware and firmware architecture, design, and coding for solutions at scale.
* Experience with SoC bring-up, platform initialization, board support package development, peripherals such as PCIe, I2C, SPI, USB, UART, OS primitives, memory management, scheduling, interrupts and multi-threading.
* Excellent problem-solving and analytical skills.
* Experience working with multiple teams on Root cause analysis, troubleshooting, and debugging skills resulting into solving complex Hardware/Firmware interface issues.
* Self-motivated and able to work independently.
* Strong communication and collaboration skills, with the ability to work effectively in cross-functional teams.
* Experience with working from early concept of Platform Architecture & design.
## Nice to have
* Prior experience of working in one or more of the following areas:
* Hardware accelerator software design and development
* CPU Execution modes, security model, cache, coherency
* Memory management and protection
* Interrupt controller
* Virtualization
* Other related concepts
* Platform initialization, board support package Development & integration
* Low level drivers for peripherals such as I2C, I3C, eMMC, SPI, USB, UARTs etc
* RAS, Debug, Logging (RT)OS
* Scheduling and firmware development in multithreading SMP as well as in heterogeneous computing environment
Sourced via microsoft · Listed on CareerPlan, which tracks 70,000+ jobs from 20+ sources.