Sr. Embedded Software Engineer - Frameworks & Drivers(VisionAI Application)
Description
We're seeking an Embedded Software Engineer to develop frameworks and drivers for systems involving computer vision, AI, and large language models on embedded platforms.
【Job Description】
1. Develop and maintain firmware for image sensors and camera modules.
2. Create software frameworks for integrating AI vision and LLM capabilities into embedded systems.
3. Implement functionalities for various hardware accelerators (NPUs, GPUs, etc.) to support neural network and LLM inference.
4. Design and implement APIs for computer vision and natural language processing functionalities.
5. Collaborate with hardware engineers to ensure optimal integration of software with custom hardware designs.
6. Develop low-level interfaces for efficient data handling between different system components.
7. Implement and maintain real-time operating system(RTOS) configurations for AI-enabled embedded systems.
8. Ensure code quality, stability, and compatibility across different hardware platforms.
9. Document APIs, frameworks, and driver implementations
10. Stay current with emerging technologies in computer vision, AI, and embedded systems.
【Required Qualifications】
1. Bachelor's or Master's degree in Computer Science, Electrical Engineering, or related field.
2. 3+ years of experience in embedded software development.
3. Strong programming skills in C/C++/Python.
4. Experience with real-time operating systems (RTOS) and bare-metal programming.
5. Familiarity with camera interfaces(e.g., MIPI, CSI) and image sensor technologies.
6. Understanding Linux USB Gadget and following USB class specifications, UVC, UAC, and HID.
7. Knowledge of hardware accelerator architectures(NPUs, GPUs, etc.)
8. Experience developing device drivers for embedded systems.
9. Understanding of software architecture patterns for embedded systems.
10. Familiarity with version control systems (e.g., Git) and software development methodologies.
【Nice To Have】
1. Experience with ARM architecture and low-level optimizations.
2. Knowledge of OpenCL, CUDA, or other parallel computing frameworks.
3. Familiarity with AI frameworks (e.g., TensorFlow Lite, ONNX, Pytorch…)
4. Experience with inter-process communication in embedded systems.
