Senior Technical Lead — Embedded Software (Linux & Micro controllers)
Location: Abu Dhabi, UAE, (Onsite)
Experience Required: 10+ Years
Domain: Embedded Systems, Linux Kernel/Driver Development, Edge AI/Vision Compute
About the Role
We are hiring on behalf of a leading organization in the advanced technology and engineering sector for a Senior Technical Lead – Embedded Software. This is a high-impact technical leadership role responsible for architecting complex embedded systems spanning bare-metal micro controller firmware, Linux kernel/driver development, and NVIDIA Jetson-based edge AI/vision compute platforms.
Mandatory Key Skills
- C and C++ programming (expert level)
- Linux kernel and driver development
- Bare-metal firmware development — STM32, NXP LPC, Microchip PIC (Cortex-M architectures)
- RTOS experience — FreeRTOS, mbed, or ThreadX
- NVIDIA Jetson Linux BSP & JetPack SDK — CUDA, cuDNN, TensorRT
- Multimedia/vision frameworks — V4L2, GStreamer, FFmpeg
- Communication protocols — I2C, UART, SPI, CAN
- ARM64 and Cortex-M architecture understanding
- Debugging tools — gdb, ST-Link, Segger J-Link, oscilloscopes, logic analyzers
- Strong English communication skills
Qualification
Bachelor's or Master's degree in Computer Science, Electronic Engineering, or Software Engineering.
Requirements
Key Responsibilities
- Architect and design complex embedded systems, balancing real-time constraints, power consumption, and resource limitations
- Develop and maintain bare-metal firmware for Cortex-M based micro controllers (STM32, NXP LPC, Microchip PIC)
- Develop and maintain RTOS-based firmware (FreeRTOS, mbed, ThreadX)
- Implement Linux drivers and kernel modules for custom hardware components
- Debug across Linux (gdb) and micro controller environments (ST-Link, Segger J-Link)
- Develop user-space applications using V4L2, GStreamer, and FFmpeg for multimedia/image/video processing
- Optimize software using Jetson Linux BSP and NVIDIA JetPack SDK components (Linux kernel, CUDA, cuDNN, TensorRT)
- Integrate communication protocols (I2C, UART, SPI, CAN) across Linux and micro controller environments
- Implement Linux client/server applications over UDP/TCP/IP
- Lead code reviews, uphold coding standards, and mentor junior engineers
- Conduct testing/troubleshooting using oscilloscopes and logic analyzers