Responsibilities:
- Design, develop, code, and document larger modules as part of firmware projects and lead a firmware project.
- Rich experience on embedded SoC software development and debug environment setup.
- Work with relevant architects, software and hardware teams to finalize the system level solutions and modularize the firmware development works.
- Utilize low level C coding techniques when developing codebases, follow coding standards and follow standard development best practices.
- Read schematics, utilize oscilloscopes, digital analyzers, and other test equipment in the development and debugging of firmware designs.
- Have fundamental knowledge about the operating system and its common drivers, especially understanding basics of RTOS.
- Have fundamental knowledge about inter-chip communications in heterogenous processor environment, and able to use OpenAMP or RPC such techniques.
- Understand storage devices/controller (i.e. SAS, SATA etc.) driver, protocols and firmware design is a plus.
- Understand power management at system level and OS power management handling is a plus, especially familiar with PMIC firmware.
- Understand the virtualization techniques on server environment is a plus.
Requirements:
- Minimum degree in Bachelors Engineering in Computer Science/Engineering, Electrical Engineering, related field or equivalent experience on embedded system.
- Minimum of 3-5 years of experience
- Experience with implementing embedded operating systems such as Linux, FreeRTOS on target hardware
- Demonstrated experience with C/C++/assembly language programming.
- Demonstrated experience with ability of problem analysis and solving.
- Familiar with RISC-V/ARM ISA is a plus.
- Good team player and be able to prioritize the tasks and delivery the modalized development work.