We are looking for a Firmware Engineer to design, develop, test, and support firmware and embedded software applications for existing and next-generation products. You will work closely with cross-functional engineering teams across different locations to deliver reliable and high-quality embedded solutions in accordance with established engineering processes and best practices.
Key responsibilities include:
- Design, develop, test, debug, and maintain firmware and embedded software.
- Develop embedded applications using C and C++.
- Develop software for microcontrollers, peripherals, and low-level device drivers.
- Develop and integrate firmware using Real-Time Operating Systems.
- Implement embedded communication protocols such as Ethernet, USB, Wi-Fi, CAN, PROFIBUS, and IO-Link.
- Prepare firmware design specifications and technical documentation.
- Apply established software design techniques and design patterns.
- Perform firmware functional testing, unit testing, integration testing, and system validation.
- Develop automated unit tests and test frameworks where applicable.
- Use hardware-assisted debugging tools to troubleshoot and resolve firmware issues.
- Participate in code reviews, design reviews, and root-cause analysis.
- Apply secure coding practices, including CERT C and CERT C++ standards.
- Support functional safety and cybersecurity development activities.
- Collaborate with hardware, software, testing, and product teams.
- Ensure project deliverables are completed within agreed timelines and quality standards.
- Support continuous improvement of firmware development processes, tools, and practices.
Requirements:
- At least 3 years of relevant experience in firmware or embedded software product development.
- Fresh graduates with relevant academic, internship, or project experience are welcome to apply.
- Strong knowledge of embedded software development using C and C++.
Experience in one or more of the following areas:
- Microcontroller-based firmware development.
- Low-level device-driver development.
- Real-Time Operating Systems.
- Automated unit-testing methodologies.
- Embedded communication protocols.
- Experience preparing firmware or embedded software design documentation.
- Knowledge of software design techniques and design patterns.
- Experience using debugging tools such as oscilloscopes, logic analysers, emulators, debuggers, or protocol analysers.
- Knowledge of firmware testing methodologies and test frameworks.
Advantageous Skills:
- Experience in firmware test automation.
- Knowledge of CERT C or CERT C++ secure coding standards.
- Knowledge of functional safety development processes.
- Knowledge of cybersecurity or secure product development processes.
- Experience working across the embedded product development lifecycle.
Skills and Attributes:
- Strong interest and passion for embedded systems and firmware engineering.
- Good analytical, troubleshooting, and problem-solving skills.
- Detail-oriented with a strong focus on software quality and reliability.
- Willingness to learn and adopt modern embedded technologies and development practices.
- Able to adapt quickly to changing business and technical requirements.
- Open-minded and creative in developing practical technical solutions.
- Good communication and interpersonal skills.
- Able to collaborate effectively with cross-functional and multicultural teams.
- Able to work independently and as part of a team.
To apply,simply click the "Apply" button or send your updated profile to *************
EA Licence No.:18S9405 / EA Reg. No.:R1330864
Percept Solutions is expanding and actively seeking talented individuals. We encourage applicants to follow Percept Solutions on LinkedIn at ************* to stay informed about new opportunities and events.