Job description
Roles & Responsibilities
Overview
We are looking for an Embedded Firmware Engineer to join an R&D team developing firmware for advanced optical and high-speed hardware products.
You will work closely with hardware and system engineers on MCU-based control, hardware interfaces, device monitoring and product bring-up.
Responsibilities
- Design, develop, debug and maintain embedded firmware for optical modules and related hardware platforms.
- Develop MCU based control and monitoring functions for sensors, power devices and other hardware components.
- Implement and debug communication interfaces including I2C, SPI, UART, MDIO and GPIO.
- Develop device initialization, configuration, monitoring, fault detection and protection functions.
- Support hardware bring-up, system debugging, failure analysis and production introduction.
- Develop interfaces between firmware, host software and automated test systems.
- Maintain firmware architecture, technical documentation and version control.
Requirements
- Bachelor's degree or above in Electronics, Computer Engineering, Communications, Automation, Microelectronics or a related discipline.
- At least 3 years of embedded firmware or related hardware product development experience.
- Strong programming skills in C/C++ with hands-on MCU firmware development experience.
- Experience with ARM-based MCU/processor platforms and bare-metal or RTOS development.
- Strong knowledge of hardware interfaces such as I2C, SPI, UART, MDIO and GPIO.
- Hands-on debugging experience using oscilloscopes, logic analyzers or similar tools.
- Experience with Git and embedded development tools such as Keil, IAR, GCC or CMake.
- Experience in optical modules, optical communication or high-speed hardware products is highly advantageous.
- Python or scripting experience for test automation or firmware debugging is a plus.
Tell employers what skills you have
Design
Automation Systems
Optical Technologies
Preparation of Technical Documents
Implementation of Interfaces
Monitoring and Control System
Automated Software Testing
Development Tools
Arm Processor
Fault Analysis
Test Automation
Python
Logic Analyzer
Hardware Interfaces
Hardware Development
CMake
C++
Failure Analysis