Embedded Firmware Engineer
Role details
Job location
Tech stack
Job description
We are seeking a skilled Firmware Engineer to join our innovative technology team. The successful candidate will be responsible for designing, developing, and maintaining embedded firmware across a variety of hardware platforms. This role offers the opportunity to work on cutting-edge projects involving IoT devices, signal processing, and machine learning applications. The ideal applicant will possess strong technical expertise in embedded systems, software development, and hardware integration, with a focus on delivering reliable and efficient firmware solutions., * Develop and optimise embedded firmware for diverse hardware platforms using languages such as C, C++, and Python.
- Implement signal processing algorithms and machine learning models within embedded environments.
- Integrate hardware components such as FPGA, STM32 etc.
- Conduct debugging, troubleshooting, and testing of firmware to ensure high quality and performance standards.
- Utilise version control tools like Git to manage code repositories effectively.
- Write comprehensive documentation
- Perform software testing including unit testing, test automation, and software quality assurance procedures.
- Maintain knowledge of OS kernels, network protocols (TCP/IP, Ethernet, Zigbee), and application development frameworks such as Linux and Windows environments.
- Support hardware soldering processes when necessary for prototype development or repair tasks.
- Participate in code reviews and contribute to continuous improvement initiatives within the team.
Requirements
Do you have experience in Zigbee?, * Proven experience in embedded software development with a strong understanding of firmware architecture.
- Hands-on expertise with FPGA development, signal processing techniques, and microcontroller programming
- Proficiency in programming languages including C, C++, Python, JavaScript, PHP, Visual Basic, VBA, Perl, Bash (Unix shell), and HTML/CSS for UI development.
- Experience with electronic components, PCB layout etc. desirable.
- Familiarity with database management systems such as MySQL and Microsoft SQL Server for data handling purposes.
- Knowledge of network protocols including TCP/IP, DHCP, VoIP, WAN/LAN configurations, encryption methods, and application programming interfaces (APIs).
- Experience working with cloud platforms like AWS or similar services is desirable.
- Strong analysis skills with the ability to troubleshoot complex issues related to software troubleshooting and system integration.
- Familiarity with tools such as Eclipse, Visual Studio, Jenkins, Jira, GitHub/GitLab repositories for development workflows.
- Understanding of IoT architectures involving Zigbee communication protocols and RESTful API design is advantageous.
- Prior exposure to MATLAB/Simulink for simulation purposes is a plus. This role offers an exciting opportunity to work within a dynamic environment where innovation is encouraged.