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. 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 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, and 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
Want jobs like this matched to you?
SimpleCareer scores fresh postings against your résumé so you only see the matches that matter.