Sr. Software Architecture Engineer at Ambarella
Santa Clara, CA, US

Sr. Software Architecture Engineer

The rapid acceleration of deep learning is leading to new generations of high-performance and low-power architectures to bring cutting edge computer vision algorithms to diverse new markets. At Ambarella, architecture engineers work at the forefront of this technological leap in computer architecture by designing new systems to accelerate key functions of computer vision. Studying industry trends across deep learning and computer architecture, we create new ideas and concepts for software systems and hardware design, justify and document new features and train others to leverage the most of our architecture. Our team members translate algorithms into hardware design specifications, identify performance bottlenecks, optimize system performance and build our knowledge into software libraries to benefit other internal teams and external customers across different target markets. Our team works closely with all members of our high level software, compiler and SoC design teams, thus our team clearly communicates in both verbal and written form.  We actively seek candidates with strong background in either architecture, hardware modeling or software performance optimization experience to join an exciting cross-functional team to deliver the next generation of Ambarella's computer vision processors.


  • Develop expertise in neural network structures and their evolution as it applies to image processing, computer vision and robotics.
  • Apply graph theory and network analysis to understand and solve resource allocation problems in neural networks.
  • Model performance critical areas of the hardware architecture, identify performance bottlenecks and propose solutions.
  • Develop performance analysis infrastructure and tooling.
  • Interface with various teams in the organization for data collection and productization of solutions.


  • PhD or Masters in Computer Science, Electrical Engineering or related field.
  • 3+ years’ experience with performance modeling, hardware design or verification.
  • Solid understanding of processor systems and hardware architecture.
  • Proficiency in C/C++, Python, and hardware development languages.
  • Excellent communication skills.