Staff Firmware Engineer
Role details
Job location
Tech stack
Job description
- Control Algorithm Development:
- Develop and optimize control algorithms for digital power management and conversion, including voltage regulation, current limiting, and fault protection.
- Implement closed-loop control systems to ensure precise power delivery and stability.
- Firmware Development:
- Design, code, and test firmware for microcontrollers that control and monitor power electronics hardware.
- Implement real-time control loops, communication protocols, and fault detection mechanisms.
- System Integration:
- Collaborate with hardware engineers to integrate firmware with power electronics components, ensuring compatibility and performance.
- Participate in hardware bring-up and debugging to validate and refine firmware functionality.
- Verification and Testing:
- Develop test procedures and perform validation testing to ensure the reliability and safety of digital power systems.
- Debug and resolve firmware-related issues and anomalies.
- Documentation:
- Maintain comprehensive documentation for firmware design, code, and testing procedures.
- Prepare reports and design documentation for team members.
- Collaboration:
- Collaborate with cross-functional teams, including hardware engineers, and product managers, to ensure project goals are met.
- Work with external partners or vendors when necessary.
Requirements
-
Bachelor's or Master's degree in Electrical Engineering, Computer Engineering, Computer Science, or a related field.
-
Proficiency in programming languages commonly used in embedded systems, such as C and C++. Knowledge of assembly language may also be beneficial.
-
At least 5-year digital power development experience.
-
Familiarity with signal processing techniques and algorithms
-
Strong understanding of embedded systems architecture and microcontroller/microprocessor operation
-
Knowledge of digital and analog electronics, including sensors, microcontrollers, and communication interfaces (e.g., SPI, I2C, UART).
-
Ability to design, code, and test firmware for controlling hardware components, implementing algorithms, and handling various functions.
-
Strong problem-solving and debugging skills for identifying and rectifying firmware-related issues.
-
Effective communication and teamwork skills to collaborate with hardware engineers, and cross-functional teams.