See more Software Development jobs →

← Back to all jobs

Software Engineer - Robotics - Perception and Vision


Headquarters: San Francisco, CA
See all Anki jobs →

Duties and Responsibilities:

  • Developing and maintaining a wide range of robot perception systems for reliable detection, recognition, navigation, and localization at scale in unknown and dynamic environments
  • Developing and maintaining a high-level perception system API, used by the rest of a complex robot platform to inform robot navigation, behavior, and human interaction
  • Assisting/leading data collection efforts as needed for developing machine learning systems
  • Taking ownership of major perception system components from prototype to ship
  • Writing performant and maintainable code in C++
  • Creating tools as needed to get the job done efficiently
  • Working with an experienced and multi-disciplinary team of engineers, artists, UX/character designers, testers, and producers to deliver the best user experience possible
Must-Have Qualifications:

  • Real-world experience using “classical” and Deep Learning approaches to vision and perception, with expertise in one or more of the following:
  • Face detection and recognition
  • Object detection and recognition
  • Scene recognition
  • Tracking
  • Visual Inertial Odometry
  • SLAM and obstacle avoidance
  • Person detection and body pose estimation
  • Hands-on experience developing, training, and testing perception systems that operate in unpredictable, real-world environments
  • Exceptional software engineering and programming background, with experience developing on teams and keeping on schedule
  • Extremely strong C/C++ development, testing, and debugging skills
  • Experience with OpenCV and one or more Deep Learning frameworks such as TensorFlow, Caffe, etc.
  • Strong problem solving and analytical skills
  • Strong communication skills
  • Ability to work in a fast-paced, iterative development environment
  • Ability to tame the complexity of large software systems for the benefit of both users and your fellow developers.
  • Bachelor's degree or higher in Computer Science or related field
  • Desired Qualifications:

    • Graduate degree in Computer Science, Computer Vision, Robotics or related field
    • Experience deploying vision in a commercial product
    • Experience with depth sensors and point cloud data
    • Experience with camera hardware and optics
    • Experience optimizing vision algorithms and deep learning inference for computationally constrained platforms
    • Experience developing robots that interact with people in real-world environments

    • Great San Francisco office with lots of light and great views, convenient to every mode of mass transit – on wheels, on rails, and on water
    • Regularly scheduled on and off-site team building activities
    • Start-up environment where you’ll help shape the culture and have a huge impact
    • Free catered lunches, snacks, and drinks
    • You get to work on innovative products and challenging problems with some amazingly talented (and fun) people!