Our client is a well-established company in its industry, known for innovation and high-quality standards.
As they continue to expand, they are looking for a new team member for the Embedded Software Engineer position.
Key Responsibilities:
- Design embedded software (firmware) for new electronic products, ranging from simple microcontroller-based solutions to complex embedded systems.
- Diagnose and resolve hardware/software issues, optimize and enhance existing firmware solutions.
- Participate in and conduct code reviews to maintain code quality, adhere to established coding standards, and share knowledge within the team.
- Collaborate with team members, including hardware designers, to identify firmware-related requirements.
- Contribute to the design of firmware or architectures that meet client requirements, selecting the best approach based on performance, cost, and resource considerations.
- Participate in the development of firmware specifications based on received requirements and ensure their subsequent implementation.
- Propose tools and testing methods to verify the functionality, security, and reliability of the firmware.
- Create and maintain comprehensive documentation for firmware design, specifications, implementation instructions, and testing procedures.
- Provide mentorship to junior engineering staff.
- Contribute to improving departmental processes and tools, particularly those related to firmware development.
Qualifications:
- University degree in Electrical Engineering or a related field, ideally with a focus on Electronics.
- At least 5 years of experience in a similar position.
- Proven experience in embedded software (firmware) development using C/C++ programming languages in embedded systems, including bare-metal and embedded RTOS.
- Excellent knowledge and proven experience with microcontrollers and/or embedded system platforms such as ARM Cortex.
- Strong understanding of embedded software (firmware) design and architecture, as well as firmware-hardware integration.
- Excellent knowledge of software development tools and methodologies used in embedded systems, including version control tools such as Git/SVN.
- Proficiency in using electronic lab equipment for development/troubleshooting low-level drivers and hardware integration for interfaces such as I2C, SPI, UART, USB, etc.
- Good understanding of high-level programming languages; familiarity with object-oriented methodologies and user interface implementation is an advantage.
- Results-oriented, self-motivated, systematic, and reliable.
- Strong communication skills, teamwork capability, and excellent organizational abilities.
- Proficiency in English (both spoken and written).
Only shortlisted candidates will be considered.