Define and lead the long-term OS architecture strategy using Yocto/OpenEmbedded. Evaluate and select SoC vendors, BSPs, and core system components (init systems, connectivity stacks, and filesystems).
Configure, optimize, and patch Linux kernels for performance and security. Manage U-Boot/Coreboot and write complex Device Trees for custom hardware.
Architect end-to-end security solutions, including Secure Boot, Full Disk Encryption (FDE), and TPM/TEE integration. Conduct vulnerability assessments and manage the lifecycle of CVE remediation.
Design and maintain robust CI/CD pipelines for automated image builds. Implement fail-safe A/B Over-the-Air (OTA) update mechanisms (e.g., Mender, RAUC, SWUpdate) and remote monitoring telemetry.
Debug "impossible" problems using JTAG, GDB, ftrace, and perf. Drive optimizations for ultra-fast boot times, minimal memory footprints, and extreme power efficiency.
Develop and manage BitBake recipes, custom layers, and configuration files to ensure reproducible builds.
Integrate hardware drivers, device trees, and Board Support Packages (BSPs) into Yocto-based images.
Lead hardware bring-up and debug complex issues across the bootloader, kernel, and user space using JTAG, serial consoles, and GDB.
Fine-tune system performance, including boot time optimization, memory footprint reduction, and power efficiency.
Support automated image builds and testing by integrating build systems with Jenkins or GitHub Actions.
Act as a technical mentor to junior engineers. Collaborate with hardware teams on schematic reviews and with application teams to provide high-performance SDKs and containerized environments.
Requirements
BTech, B.S. or M.S. in Computer Science, Electrical Engineering, or a related field.
8+ years of experience in Embedded Linux development. Mastery of C and C++ is required, with a deep understanding of object-oriented design and concurrency.
Proven track record of managing complex, multi-layer Yocto environments and upstreaming contributions to the OpenEmbedded community.
In-depth knowledge of Linux system internals, memory management, and process scheduling
Experience with ARMv8/Cortex-A (e.g., MediaTek AIoT Yocto SDK and x86_64 architectures). Ability to debug at the register level using oscilloscopes and logic analyzers.
Deep expertise in Linux networking stacks (NetworkManager), storage (UBI/UBIFS, Ext4), and low-level IPC (D-Bus, Shared Memory).
Integrate and customize Linux kernel drivers for peripherals such as I2C, SPI, UART, and USB.
Exposure to cloud-based fleet management and monitoring systems.
Expert Git workflow management, Python/Bash automation, and familiarity with Docker/K8s for embedded edge computing.
A self-starter who thrives in agile environments and acts with a sense of urgency to deliver outcomes.