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.