Sr. Firmware Engineer
Job Description
- Design, develop, and maintain firmware for internal products.
- Collaborate with internal teams, such as firmware engineers, electronics engineers, electrical engineers, mechanical engineers, and managed service engineers to ensure seamless product development.
- Analyze requirements and design efficient, reliable firmware architectures.
- Implement firmware features based on product specifications and needs.
- Test and validate firmware to ensure optimal performance and reliability.
- Handle debugging and troubleshoot firmware issues during development and testing.
- Continuously explore and learn about the latest firmware technologies.
- Perform code reviews and debugging to improve firmware quality and reliability.
- Work with the development team to ensure firmware integrates seamlessly with hardware.
- Document the firmware development process, including user guides, API documentation, and maintenance instructions.
- Participate in team meetings for technical discussions and collaboration.
Job Requirements
- Graduate from Bachelor, Diploma degree from Electrical Engineering, Computer Engineering or other related majors.
- Have a minimum 3 years of experience in embedded firmware development, especially for IoT devices or embedded systems.
- Strong problem-solving skills and the ability to collaborate with cross-functional teams.
- Proficiency in firmware development using programming languages such as Python (Flask) and Raspberry Pi.
- Knowledge of object-oriented programming (OOP) principles and best practices.
- Experience with testing firmware, including functionality, performance, and reliability testing.
- Familiarity with sensor exploration and integration for monitoring systems.
- Ability to write comprehensive technical documentation, including user guides and API documentation.
- Experience with communication protocols such as SPI, I2C, UART, and industrial protocols (e.g., Modbus, CAN Bus).
- Knowledge of IoT protocols (e.g., HTTP, MQTT, SNMP) and wireless connectivity (e.g., GSM, LoRa, RF).
- Familiarity with both SQL and NoSQL databases (e.g., MySQL, MongoDB).
- Comfortable working with Linux-based operating systems.