Software Engineer, Computer Vision Job Description

Software Engineer, Computer Vision Job Description Template

Our company is looking for a Software Engineer, Computer Vision to join our team.

Responsibilities:

  • You will discover ways to harden and robustify computer vision algorithms at intersection of research and engineering;
  • M.S. or B.S. in Computer Science, Electrical Engineering, Robotics, or other related fields;
  • Must be U.S. Citizen or Permanent Resident;
  • You will build computer vision products into Niantic’s augmented reality platform from the bleeding edge of research innovations;
  • You will productionize computer vision research for use in Niantic’s consumer client-server games and applications;
  • Minimum of 2 years of industry work experience in computer vision, artificial intelligence, automation, and/or vision processing;
  • Design core components up and down the software stack, developing primarily in C++
  • Develop solutions for real world problems and integrate solutions into products;
  • Conduct design and code reviews;
  • Collaborate with cross-functional hardware and software teams to incorporate their innovations and vice versa;
  • Evaluate, analyze and optimize system resources related to image processing, computer vision and machine learning;
  • Build tools and infrastructure to enable product advancements and efficiency-gains across both software and hardware.

Requirements:

  • You have SLAM experience;
  • You have practical experience developing algorithms and systems that bring to bear computer vision for augmented/mixed reality;
  • You have extensive experience in C++ and OpenCV or other computer vision libraries;
  • Experience with modern computer vision techniques;
  • BS in Computer Science, Electrical Engineering, Mathematics, Physics, Robotics or related technical field;
  • BS or MS degree in computer science or a related field;
  • Experience with hardware, firmware and drivers;
  • Experience with realtime sensor fusion (e.g. lidar, camera, radar);
  • 3+ years experience developing software in C++ for real-time embedded systems;
  • Experience handling large data sets efficiently;
  • Experience working with Android;
  • Experience with autonomous robots;
  • Demonstrated ability to create functional realtime systems that solve difficult perception tasks;
  • Experience developing software for computer vision, machine learning, image processing or computer graphics applications;
  • Experience with novel pipelines and architectures for convolutional neural nets.