Summary
Ambarella develops AI vision processors for edge applications that make cameras smarter by extracting valuable data from high-resolution video streams. The Software Engineer Intern will design, implement, and test imaging and video algorithms, develop firmware and microcode for proprietary SoCs, and create testing tools for camera applications.
Responsibilities
- Develop a deep understanding of Ambarella’s DSP architecture to ensure the efficient use of hardware resources such as CPU cycles and memory during code development
- Design and develop microcode within the boundaries defined by the relevant algorithm and DSP hardware
- Research papers and implement some of the ideas on DSP
- Develop test codes for hardware blocks
Skills
- A Bachelor's degree in EE, computer engineering, CS or equivalent
- Solid experiences with C or C++
- Some experience with assembly code development and debugging
- Solid knowledge of scripting languages such as Perl or python
- Understand modern computer architecture including registers, interrupts, threads, on-chip memory and DRAM. Must be able to resolve data synchronization issues with computer architecture
- Must be comfortable with modern software development methodologies such as code review, unit testing, peer reviews, and more
- Familiarity with image processing and video compression standards (e.g., MPEG, H.264/265). Must have basic knowledge of video representation
- Familiarity with Neural Network frameworks such as TensorFlow, caffe, pytorch etc
- Excellent verbal and written communication skills. Excellent analytical, problem solving and presentation skills
- Excellent cross-functional, cross-site teamwork abilities
- Current master students in one of these aforementioned disciplines are preferred
Qualifications
Must Haves
- A Bachelor's degree in EE, computer engineering, CS or equivalent
- Solid experiences with C or C++
- Some experience with assembly code development and debugging
- Solid knowledge of scripting languages such as Perl or python
- Understand modern computer architecture including registers, interrupts, threads, on-chip memory and DRAM. Must be able to resolve data synchronization issues with computer architecture
- Must be comfortable with modern software development methodologies such as code review, unit testing, peer reviews, and more
- Familiarity with image processing and video compression standards (e.g., MPEG, H.264/265). Must have basic knowledge of video representation
- Familiarity with Neural Network frameworks such as TensorFlow, caffe, pytorch etc
- Excellent verbal and written communication skills. Excellent analytical, problem solving and presentation skills
- Excellent cross-functional, cross-site teamwork abilities
Nice to Haves
- Current master students in one of these aforementioned disciplines are preferred