Develop firmware for embedded microcontrollers in SoC projects to support all phases of the product life cycle and create radically helpful experiences by making computing faster, seamless, and more powerful.
Requirements
- coding in C or C++
- testing, maintaining, or launching embedded software products
- software design and architecture
- software development for embedded systems
- C or C++ development for firmware applications
- embedded operating systems (e.g., FreeRTOS, ZephyrOS, LK, Tock, etc.)
- ARM or RiscV assembly
Responsibilities
- Develop firmware for embedded microcontrollers in SoC projects.
- Review hardware designs, prototype Software-based Hardware-mocks, and engage in Hardware or Software co-design efforts to engineer firmware solutions that support all phases of the product life cycle.
- Work with hardware prototypes, Field-programmable Gate Array (FPGAs), Software-simulation of SoC and subsystem designs to verify and enable functionality.
- Develop modular firmware components to maximize code reusability across related SOCs.
- Develop firmware to interface with SoC components, manage power and performance of custom Internet Protocols (IPs), implement high performance Infra-Pod Communication (IPC) mechanisms, and general firmware functions.
- Develop, and test features from the embedded firmware level all the way up to Android Userspace.
Other
- Bachelor’s degree or equivalent practical experience.
- 5 years of experience with coding in C or C++.
- 3 years of experience in testing, maintaining, or launching embedded software products, and 1 year of experience with software design and architecture.
- 3 years of experience with software development for embedded systems.
- Excellent debugging skills on the hardware or software.