Principal Engineer - Embedded Software (E&E)
EDGE Group PJSC · Abu Dhabi, Abu Dhabi, AE · United Arab Emirates · On-site
Sign up free: we match you to jobs like this, tailor your application and fill the form. 2 free applications every day.
External Job Description
ADVANCED CONCEPTS is an entity within EDGE dedicated to the design and deployment of advanced, innovative technologies. ADVANCED CONCEPTS is fast-tracking the development of high-technology autonomous systems, including three Medium Endurance, High Altitude, fixed-wing unmanned aerial systems, a family of precision loitering munitions, a cost- effective family of cruise missiles, and a range of guided artillery munitions.
Core Accountabilities: • Architect and design complex embedded systems, considering real-time constraints, power consumption, and resource limitations. • Develop and maintain bare-metal firmware for microcontrollers based on Cortex-M architectures, such as STM32, NXP LPC, and Microchip PIC families. • Develop and maintain firmware with RTOS like FreeRTOS, mbed, or ThreadX on microcontrollers • Implement Linux drivers and kernel modules for custom hardware components. • Familiar with debug process in Linux(gdb) and in microcontrollers (st-link, segger J-link) • Develop user-space applications leveraging APIs like V4L2, GStreamer, and FFmpeg for multimedia processing and image/video capture. • Optimize software solutions using Jetson Linux BSP and NVIDIA JetPack SDK components (Linux kernel, CUDA, cuDNN, TensorRT). • Integrate various communication protocols like I2C, UART, SPI, and CAN in both Linux and microcontroller environments. • Implement Linux client/Server against UDP, TCP or IP. • Participate in code reviews, ensure code quality, and follow established coding standards. • Lead and mentor junior engineers, foster a collaborative environment, and share knowledge. • Stay up-to-date with advancements in embedded technologies and best practices. • Use of version controlled environment such as Git or SVN • CI/CD pipeline • Code writing discipline such as commenting and bug tracking • Excellent problem-solving, analytical, and debugging skills. • Strong communication and interpersonal skills, with the ability to collaborate effectively with engineers and other stakeholders. • Proven ability to work independently and manage multiple projects simultaneously. • Conduct testing and troubleshooting using oscilloscopes, logic analyzers.
Qualification / Experience • Bachelors or Master’s degree in computer science, electronic or software engineering • 15+ years of experience in embedded software engineering, C and C++. • Strong understanding of ARM64 and Cortex-M architectures. • Expertise in Linux driver and kernel development. • Experience with bare-metal firmware development for microcontrollers like STM32, NXP LPC, and Microchip PIC families. • Experience with RTOS like FreeRTOS, mbed, or ThreadX on microcontrollers • Knowledge of I2C, UART, SPI, and CAN protocols and their implementation in both Linux and microcontrollers. • Experience with Jetson Linux BSP and NVIDIA JetPack SDK, including Linux kernel, CUDA,…