Internship Engineer: Embedded Software Development Computer Vision AI/ML Software Development F/M
NXP
Job Summary
NXP Semiconductors, a global leader in semiconductor development, is seeking a final-year engineering intern for 6 months. The intern will join the Advanced IP Enablement division's Vision team, focusing on embedded software development for Computer Vision, AI, and ML. The role involves developing and integrating software libraries or applications in C, C++, or Python to utilize graphic and AI accelerators on i.MX RT and i.MX processors, operating in real-time OS or embedded Linux environments with limited resources. The intern will contribute to architecture and V-cycle development within an international team, using modern development tools.
Must Have
- Master Degree/last year of engineering school in embedded systems or computer science
- Knowledge of embedded system architecture and ARM processors
- Proficiency in C programming for application or peripheral driver development
- Understanding of image processing principles
- Familiarity with Python and C++ languages
- Experience with Git version control
- Ability to develop multi-threaded applications
- Good level of English
Good to Have
- Academic knowledge of neural network systems applied to vision
- Knowledge of real-time OS (RTOS) functioning
- Knowledge of the Linux kernel
- Knowledge of Image Signal Processing
- Academic knowledge of machine-learning/artificial intelligence
Perks & Benefits
- Online and offline learning opportunities for core and professional skills development
- Commitment to sustainability
- Inclusive work environment with programs for diversity, inclusion, and equality
- Advice and tips for the hiring process
Job Description
Context
NXP Semiconductors is a global leader in the development and manufacturing of semiconductor products used in embedded applications for the automotive, consumer, industrial, and communications markets.
The Advanced IP Enablement (AIE) organization is responsible for developing software layers that enable the use of hardware accelerators for graphics, AI, and security within the NXP i.MX and i.MX RT families of products.
The Vision team, within the AIE organization, is responsible for the development, integration, and optimization of computer vision processes, and for enabling machine-learning-assisted machine vision pipelines on i.MX and i.MX RT processors.
We are recruiting a final-year intern for a 6-month period to participate in the development of software libraries or applications enabling the use of graphics and artificial intelligence accelerators present on i.MX RT and i.MX processors. This project is developed in a real-time OS environment on processors with limited hardware resources or on embedded Linux OS on Raspberry Pi type processors.
Your Responsibilities
You will be responsible for the implementation or integration, in C, C++ or Python language, of software components allowing the development of ML based vision applications and the simple use of graphics and artificial intelligence accelerators present on i.MX processors.
You will participate in the architecture of these components and in the V-cycle development of the component assigned to you. C is the primary language required for implementation/integration, but knowledge of C++ and Python are also recommended. Knowledge of multi-threaded development in C language is also key.
You will evolve in an international environment, where the use of modern development tools is required (version control management, requirements and bug management database, code review, continuous integration, continuous testing...).
- https://github.com/nxp-imx/nxp-nnstreamer-examples
- https://github.com/nxp-appcodehub/gs-ml-dry-beans-image-classification-using-eiq
Your Profile
- Education level: Master Degree / final year of engineering school in embedded systems or computer science (Bac + 5, dernière année d’école d’ingénieur en informatique et systèmes embarqués, ou informatique industrielle).
- Experience / Knowledge: Embedded Systems, ARM processors architecture, image signal processing.
- Knowledge in language: C, C++, Python, multi-threading programming.
- Tools: Git, continuous integration, continuous testing.
- Academic knowledge of neural network systems applied to vision is a plus.
- Knowledge of a real-time OS (RTOS) or the Linux kernel is a plus.
- Knowledge of Image Signal Processing is a plus.
A good level of English is required, working in an international multi-site team.