Job Description
We are seeking a Software Engineer Intern to develop software and tools for training, optimizing, and deploying AI models on Ambarella AI SoCs. You will work closely with experienced software and hardware engineers to understand AI workloads, improve their performance, and enable efficient execution on Ambarella’s heterogeneous computing platforms.
This is a hands-on role at the hardware–software boundary, spanning AI workloads, system software, performance optimization, and specialized hardware.
Key Responsibilities
- Develop software and tools for training, optimizing, and deploying AI models on Ambarella AI SoCs.
- Analyze AI workloads and optimize performance across heterogeneous compute engines and memory hierarchies.
- Understand research papers and implement state of art techniques to solve technical challenges.
- Collaborate with cross-functional teams to deliver optimized solutions.
Qualifications & Skills
Required
- Currently pursuing or recently completed a Bachelor’s or Master’s degree in Computer Science, Computer Engineering, Electrical Engineering, or a related field.
- Strong programming skills in C/C++ and Python.
- Basic understanding of computer architecture, microprocessors, and memory systems.
- Strong problem-solving and analytical skills.
- Effective communication and ability to work well in a collaborative team environment.
- Interest in understanding how software interacts with and leverages hardware.
Preferred
- Familiarity with AI SoCs, CPUs, GPUs, NPUs, or other AI accelerators.
- Experience developing software for Edge AI embedded systems.
- Knowledge of Deep Learning or Computer Vision fundamentals.
- Understanding of AI workloads such as CNNs, LLMs, or VLMs.
- Experience with Deep Learning frameworks such as PyTorch or TensorFlow.
What Makes You Successful
- You enjoy working close to hardware and understanding how software leverages specialized processors.
- You are curious, self-driven, and eager to learn new technologies.
- You enjoy solving challenging technical and performance problems.
- You are comfortable working in a fast-paced environment and tackling problems across different layers of the system.
- You enjoy collaborating with engineers across hardware and software disciplines.
Skills Required
- Bachelor's degree in electrical engineering, computer engineering, computer science, or equivalent
- Current master's student in electrical engineering, computer engineering, or computer science
- Solid experience with C or C++
- Experience with assembly code development and debugging
- Knowledge of scripting languages such as Perl or Python
- Understanding of computer architecture, including registers, interrupts, threads, on-chip memory, and DRAM
- Ability to resolve data synchronization issues involving computer architecture
- Comfort with code reviews, unit testing, peer reviews, and modern software development methodologies
- Familiarity with image processing and video compression standards such as MPEG and H.264/H.265
- Basic knowledge of video representation
- Familiarity with neural network frameworks such as TensorFlow, Caffe, or PyTorch
- Excellent verbal, written, analytical, problem-solving, and presentation skills
- Strong cross-functional and cross-site teamwork abilities
What We Do
Ambarella (Nasdaq: AMBA) is a leading developer of visual AI products. Our technologies enable a wide variety of human and computer vision applications, including video security, advanced driver assistance systems (ADAS), electronic mirror, drive recorder, driver/cabin monitoring, autonomous driving, and robotic applications. Ambarella’s low-power system on chips (SoCs) offer high-resolution video compression, advanced image processing, and powerful deep neural network processing to enable intelligent cameras to extract valuable data from high-resolution video streams. For more information, please visit www.ambarella.com







