Mid-Level Low-Level Software Engineer
Develop and optimize low-level software that enables local AI model inference across diverse edge hardware platforms. The role focuses on C/C++ systems development, hardware integration, resource management, and low-latency performance optimization in Embedded Linux environments.
Responsibilities
- Build a central C/C++ application to manage, load, and run AI models on edge devices.
- Design unified interfaces that abstract differences between hardware platforms.
- Port and adapt software runtimes across platforms such as NVIDIA Jetson and SIMA.
- Develop system-level software in Embedded Linux environments.
- Manage memory, concurrency, and multithreading while debugging hardware-software interfaces.
- Profile and benchmark systems to optimize CPU, GPU, memory, I/O, latency, throughput, and power efficiency.
- Integrate AI models onto physical hardware and conduct laboratory integration and stability testing.
- Document software setup, optimization, and testing procedures.
Requirements
- 3–5+ years of software development experience focused on low-level, embedded, or systems software.
- Advanced proficiency in C and C++.
- Significant hands-on Linux experience.
- Understanding of computer architecture, memory management, multithreading, concurrency, and hardware-software interactions.
- Experience with profiling, benchmarking, and performance tuning for low-latency, resource-constrained systems.
- Strong debugging skills and the ability to independently learn and work across new hardware platforms.
Nice to have
- Experience with NVIDIA Jetson or SIMA platforms.
- Experience with edge AI/ML inference, TensorRT, or AI accelerator runtimes.
- CUDA, GPU programming, or ARM architecture experience.
- Experience with drivers, BSP, kernel development, cross-compilation, or Embedded Linux.
- Experience with real-time systems or RTOS.