Role Overview
As an Embedded Software Engineer, you will work on building and customizing embedded Linux–based IP Camera & NVR systems using SoCs/SoMs/dev boards for our AI-based surveillance products. You will be responsible for working with vendor SDKs/BSPs, creating production-ready firmware images, and integrating our NVR software stack on edge hardware in a reliable and scalable way.
Responsibilities
- Work with SoC / SoM / SBC dev kits to bring up Linux (bootloader, kernel, device tree) and test basic peripherals (Ethernet, SATA/USB storage, HDMI, GPIO/LEDs).
- Use vendor SDK/BSP (Buildroot/Yocto/Debian/etc.) to build custom Linux images and integrate our NVR services (RTSP/ONVIF, recording, basic video pipeline).
- Develop and maintain C/C++ system services and hardware abstraction layers for disk, network, watchdogs, and device management.
- Assist in creating and testing production firmware images and flashing procedures for ODM/EMS or in-house assembly.
- Debug system-level issues using Linux tools (logs, resource usage, networking) and collaborate with app/backend/ML teams for end-to-end integration.
Requirements
- Currently pursuing or recently completed a degree in Computer Science, Electronics, Electrical, ICT, or related field.
- Strong proficiency in C/C++ on Linux, with good understanding of processes, memory, and IPC.
- Familiarity with embedded Linux concepts: bootloader (U-Boot), kernel, device tree, root filesystem, and basic shell scripting.
- Hands-on experience with Linux on ARM/x86/RISC-V boards (e.g., Raspberry Pi, Radxa, ODROID, thin clients, or similar dev kits).
- Knowledge of networking basics (TCP/IP, SSH, HTTP/RTSP) and comfort with tools like ssh, scp, top, htop, dmesg, journalctl.
Skills
- C/C++
- Embedded Linux
- Yocto/Buildroot
- ARM/x86
- Networking (TCP/IP)