Senior ML Application Engineer

Seniority LevelEmployment TypeJob Functions
Senior-levelFull-timeEngineering

What if the devices you use every day were smart enough to understand their environment and your intent? Imagine what’s possible when your camera can accurately perceive what it’s seeing and hearing without compromising your privacy. Imagine if your appliances knew exactly what to do. No complicated settings, just perfect results. So simple it feels like magic. Join the dynamic and experienced team at Perceive, which is making magic a reality, as a Senior ML Application Engineer. Be part of the team that’s transforming sensing into perceiving! 

Job Description Summary

Perceive is looking for a Senior ML Application Engineer to join our highly skilled team. The ideal candidate has a strong understanding of neural network and machine learning and has industry experience in building training flows and shipping solutions. The position will require strong problem solving and software development skills, excellent written and spoken communication skills, and enthusiasm to solve problems in creative ways. She/He will work closely with other members of Perceive’s ML, firmware, and application teams to drive innovation into production-ready and commercially deployable solutions. The candidate should be self-motivated and focused, comfortable collaborating with geographically dispersed teams and customers. 

Essential Duties and Responsibilities

  • Review and understand various neural network architectures
  • Perform analysis of memory and power requirements
  • Modify neural network architecture based on design trade off analysis
  • Integrate popular and unique ML models into our custom hardware platform 
  • Generate performance metrics of ported networks 
  • Integrate optimized neural networks to various applications and platforms 
  • Support customer during the integration, understand the nature of their problems and identify the best performance solution 

Required Skills

  • Bachelor’s degree in Computer Science or related technical field or equivalent practical experience in ML. 
  • 5 years of industry experience in machine learning 
  • Strong programming skills in C and Python 
  • Strong analytical and troubleshooting skills 
  • Excellent written and spoken communication skills, and a strong drive to solve problems 
  • Experienced in Caffe, PyTorch, Tensorflow, and other machine learning frameworks 
  • Good understanding of computing systems HW/SW architectures 

Preferred Skills

  • MS degree in Computer Science, Electrical Engineering or related technical field. 
  • Expertise in areas such as Pattern Recognition, Image Recognition, Classification, Large-Scale Optimization, and Audio/Imaging signal processing 
  • Experience with ML libraries/frameworks such as Keras, AWS, SageMaker 
  • Experience in building complex software systems that have been successfully delivered to customers 
  • Knowledge of image processing (algorithms, image formats) 
  • Hands-on experience with Docker containerization 
  • Hands-on experience with Kubernetes container orchestration 
  • Hands-on experience with Apache Airflow 
  • Experience with databases – both relational and non-relational 

Work Environment

  • This position involves working mainly in a typical desk/office environment, but it may also involve working in a lab setting 
  • Travel to other Perceive offices/customer sites may be required occasionally 

Location

  • Preferred locations: San Jose California, Boise Idaho, Vancouver BC 
  • Other locations in the US/Canada may be considered depending on the candidate’s skills/experience