Principal Software Engineer, ML Compiler

Engineering - Software San Jose, California


Principal Software Engineer, ML Compiler

Location: San Jose, CA
Job ID- AI2077

Job Description is looking for a Principal Software Engineer to join our team and work on our Model Builder product.  The Model Builder is a toolchain that generates highly optimized code, for specific machine learning models, for SiMa’s proprietary Machine Learning Accelerator (MLA).  The Model Builder employs a series of novel memory layout, routing, and code generation optimizations and as a result, the quality of the generated code comes very close to that of hand-coded assembly.  

As a member of the SiMa Model Builder team, you will have the opportunity to work on a product that pushes the performance upper bound of SiMa’s MLA.   You will also have the opportunity to influence SiMa’s roadmap by using your Model Builder experience to propose enhancements to future generations of the MLA.


  • Design and implement algorithms within the Model Builder framework that generate highly performant and power-efficient assembly code for specific machine learning models.
  • Analyze the assembly code generated by the Model Builder framework for various machine learning models and identify opportunities for improvement.
  • Improve the quality of the code base by refactoring code and enhancing documentation.
  • Contribute to SiMa’s roadmap by proposing new hardware features for future generations of the Machine Learning Accelerator.

Required Background

  • Ph.D. or M.S. in Computer Science or Computer Engineering with 5+ years of experience developing highly performant systems software.
  • Deep knowledge of neural networks.
  • Strong programming skills in C, C++ or Python.
  • Strong background in algorithms and data structures.
  • Strong understanding of processor architecture.
  • Strong mathematical and analytical background.
  • Strong debugging skills.
Personal attributes:
Can-do attitude. Strong team player. Curious, creative and good at solving problems. Execution and results-oriented. Self-driven, Thinks Big and is highly accountable. Good communication skills.