Job Description

Software Development Engineer - Compiler for Deep-Learning Accelerator


Description of Role:


This position involves developing a custom compiler for Tensorflow Lite models to the custom hardware platform; the engineer will develop suitable "hardware" interpretations of the Tensorflow Lite model descriptions, similar to existing ONNX interface, to the custom hardware; Ideal candidate will have experience working on compiler front-end and back-end technologies and adapting fast to the existing codebase. The engineer will work independently and in teams reporting to hiring manager, and demonstrate ownership, attention to quality and deliverable schedule.


The ideal candidate would have experience across


Preferable to have M.S. or Ph.D. in CS/EE/Math etc. or equivalent experience


Development Tools

  • Deep knowledge of python, tensorflow
  • GDB, PDB, Valgrind
  • Test case automation, TDD
  • C++11/Gnu C /LLVM compiler experience
  • Ubuntu / Centos
  • Building and working with Shared libraries


Tensorflow/Deep Learning Skillset

  • Experience programming under the hood of Tensorflow
    • Experience with multiple versions a plus
  • Understanding of internal TF architecture
  • Implemented an operator from scratch
  • Understanding of XLA
  • Installed and built tensorflow from scratch
  • Experience with MachineLearning techniques MLP, CNN, FC-DNN, Pooling, etc.
  • Tensorflow, TensorflowLite, etc.
  • Experience with inference and training of standard models
  • Demonstrated knowledge with coursework like CS 20SI: Tensorflow for Deep Learning Research, Coursera Machine Learning, etc.
  • Demonstrated ML/AI project experience
  • Experience in opensource contributions (GitHub, bitbucket, source-forge etc.)


  • GDB, Python debugger (PDB)
  • Standard Python libraries
  • Decorators
  • Experience using numpy, scipy, tensorflow, ONNX
  • Building and packaging Python libraries
  • Python unittest, nose package familiarity


LLVM/Compiler experience

  • Using clang, clang++; programming in c++11
  • Experience building LLVM passes, IRgeneration
  • Building compiler frontends, back-ends, code-generators
  • Experience building with clang passes



  • Excellent Data structures and Algorithms skillset
  • Able to describe a lowlevel software routine and how it fits in the bigger picture


Hardware Platforms

  • Experience with GPU, FPGA, or custom ASIC accelerators
  • Experience programming CUDA
  • RISCV / other embedded CPU experience
  • DSP programming


General Development

  • Small RAM systems
  • Embedded debugging / Strong debugging skills
  • RTOS / micro kernels
  • Experience working with large projects with high number of source files written by others
  • Writing clean well documented and commented code
    • Development efficiency. Agile. TDD.
  • Multithreaded programming
    • Mutex /locks pthreads/etc.
  • Security as it pertains to APIs and code
  • Experience exposing C functions as a python callable API



  • Good verbal and written communication skills.
  • Team player.


Application Instructions

Please click on the link below to apply for this position. A new window will open and direct you to apply at our corporate careers page. We look forward to hearing from you!

Apply Online