RELOCATION TO ABU DHABI IS REQUIRED
A leading advanced technology organization is seeking a highly experienced Principal Embedded Software Engineer to design, develop, and optimize embedded software solutions for secure, high-performance communication systems. The role involves working across multidisciplinary hardware and software teams to deliver robust, scalable, and secure embedded systems used in mission-critical applications.
This is a full time, onsite role based in Abu Dhabi.
Key Responsibilities
- Design and implement Layer 2 (MAC Layer) embedded software in C++, running on FreeRTOS or similar RTOS environments.
- Develop low-level embedded software, board drivers, and firmware for ARM Cortex-A53/Cortex-R5 processors on MPSoC platforms.
- Utilize industry-standard trace, profiling, and debugging tools to analyze software–hardware interactions and optimize performance.
- Lead FPGA, DSP, and CPU board bring-up activities and support hardware integration.
- Implement secure boot, encryption controls, and secure firmware update mechanisms.
- Drive the integration of multiple software and hardware components on Xilinx/UltraScale+-based embedded platforms.
- Contribute to continuous improvement and CI/CD pipelines for embedded development.
- Work with technologies including Embedded Linux, VxWorks, FreeRTOS, µC/OS-III, GCC, SDR systems, waveforms, SatCom, and wireless communication protocols (WiFi, LTE, 5G).
Qualifications & Experience
- Bachelor’s or Master’s degree in Computer Science, Computer Engineering, Electrical Engineering, or a related field.
- 10+ years of experience in embedded software engineering.
- Strong background in algorithm understanding and implementation, especially in L2 protocol stack components.
- Experience with real-time operating systems, ARM architectures, and embedded communication protocols.
- Proven track record in board bring-up and embedded platform debugging.
Technical & Soft Skills
- Expertise in C, C++, Python, RTOS environments, debugging tools, and embedded toolchains.
- Strong analytical and problem-solving skills—able to interpret complex system interactions.
- Highly organized, proactive, self-driven, and able to work autonomously.
- Strong communication and collaboration skills, working effectively in cross-functional technical teams.