Position Overview
MLTP is looking for a skilled embedded firmware engineer to join our team.
As a key team member, you will be responsible for low-level driver development, system bring-up, and firmware-hardware integration across a range of projects. Open position(s) available for entry, mid, and senior levels.
Objectives of this role
- Developing and implementing embedded firmware solutions in C/C+ for microcontrollers and SoCs.
- Implementing low-level drivers, communication protocols, and peripheral interfaces.
- Collaborating with cross-functional teams, including hardware engineers, to define firmware requirements and specifications.
- Writing and optimizing efficient, reusable and scalable embedded code.
- Performing unit testing and debugging to ensure firmware functionality and reliability.
- Contributing to the documentation and maintenance of firmware applications.
Key responsibilities
- Design and develop embedded firmware solutions for microcontrollers.
- Perform system bring-up and board-level initialization during early-stage development.
- Collaborate with hardware and software engineers to define firmware requirements.
- Write efficient, modular and well-documented code in C/C++.
- Work with testing teams and execute test plans to ensure firmware meets quality standards.
- Debug and troubleshoot firmware to identify and resolve issues using (oscilloscopes, logic analyzers, and in-circuit debuggers).
- Optimize firmware for performance, reliability, and resource efficiency.
- Stay updated on industry advancements in embedded firmware development.
- Document firmware design, configuration settings, and version control history.
Required skills and qualifications
- Bachelor’s or master’s degree in computer engineering, Electronics Engineering, or a related field.
- Proficiency in programming languages such as C and C++ for embedded systems.
- Strong understanding of embedded systems and real-time operating systems (RTOS).
- Experience with microcontrollers and hardware-firmware integration.
- Detail-oriented with excellent problem-solving and analytical skills.
- Effective communication skills and the ability to work collaboratively within a team.
- Knowledge of communication protocols (e.g., SPI, I2C, UART, USB and Ethernet).
- Hands-on experience with debugging and validation tools.
- Exposure to RTOS, bootloaders, or bare-metal systems (a plus).
- Experience with Git or similar version control systems.
Languages
- Proficiency in Arabic and English is a must.