Firmware Engineer
Develop embedded C firmware for image sensor chips used in smartphone camera systems. Work across boot, image processing, hardware interfaces, memory management, algorithms, testing, and post-silicon debugging.
Responsibilities
- Develop C firmware for embedded processors with limited memory
- Control image processing blocks, configure hardware IP, implement real-time algorithms, and manage memory
- Implement firmware for boot sequences, external IC communication, and smartphone application processor interfaces
- Optimize algorithms using hardware accelerators
- Contribute to system architecture, algorithm, and hardware design
- Develop low-level unit and system tests for simulation and emulation environments
- Build firmware update, debugging, and emulation tools
- Collaborate with algorithm, analog, digital design, verification, firmware verification, and field application engineering teams
- Resolve image quality issues in post-silicon systems
Requirements
- B.Sc. or M.Sc. in Computer Science, Electrical Engineering, or equivalent experience
- At least 3 years of experience developing real-time embedded firmware
- Extensive C programming experience and ability to write efficient code under hardware resource constraints
- Ability to understand system requirements, constraints, and limitations
- Strong collaboration skills, flexibility, and ability to manage multiple tasks
- Ability to learn new fields and technologies quickly
Nice to have
- Experience debugging integrated hardware-software systems during hardware development
- Experience with FPGA or Cadence Palladium emulators
- Proficiency in Python and C++
- Experience with Arm Cortex or RISC-V CPUs
- Strong algorithmic and analytical skills