We are looking for an experienced Senior Firmware Engineer to join our team in Abu Dhabi, UAE.
Responsibilities:
- Design and implement C++ applications for embedded systems, considering memory limitations, real-time constraints, and power efficiency
- Provide a software abstraction layer to seamlessly support a variety of hardware configurations
- Optimize code for performance, resource utilization, and responsiveness in constrained environments
- Integrate software with hardware components, ensuring seamless communication and functionality
- Write unit tests and perform thorough testing to ensure the reliability and robustness of the embedded software
- Identify opportunities for performance optimization, memory footprint reduction, and power efficiency improvements in the firmware
- Suggest and implement process improvements to enhance software development efficiency and quality
Requirements:
- B.Sc. in Electronic Engineering or Computer Science or similar
- 10+ years of proven experience in Embedded/Firmware programming
- In-depth knowledge of C++ programming language and proficiency in modern C++ standards (C++11, C++14, or later)
- Strong understanding of design patterns, data structures, algorithms, and object-oriented programming concepts
- Extensive experience in software architecture design, particularly in C++-based projects
- Demonstrated experience in architecting complex software systems and delivering scalable, maintainable, and reliable solutions
- It is imperative to have a good understanding of clean code practices
- Extensive experience with Linux operating system
Nice to have:
- Experience with RTOSes such as FreeRTOS, VxWorks, Zephyr
- Linux socket programming
- Good knowledge of CMake
- Familiarity with ARM, PIC, or other microcontroller architectures
- Knowledge of scripting languages (e.g., Python) for test automation and scripting tasks