Senior Perception Software Engineer
About You and The Role
In service of our mission to operate at global scale, we’re growing our perception capabilities, to expand quickly and safely into new products and locations, with the ultimate goal of delivering essential packages right to your doorstep. Our perception team is looking for a software engineer with expertise in machine learning and artificial intelligence utilizing sensor data and a passion for developing and shipping perception systems for the real world.
What You'll Do
- Design integrated machine learning solutions that enable our highly maneuverable aircraft to perceive general aviation aircraft, power lines, radio towers, and other challenging obstacles, so that we can steer clear of, dodge or otherwise avoid them
- Build software infrastructure to enable learning algorithms to leverage our large-scale fleet data
- Contribute to state-of-the-art machine learning infrastructure and relevant software (e.g. distributed training, continuous model integration, data management, and evaluation of production systems).
- Address large scale challenges in the machine learning development cycle, especially around distributed training in the cloud, and data engineering.
- Stay up to date on the state-of-the-art in deep learning ideas and software
- Implement cutting-edge deep learning models accelerating model training time, improving performance, and tackling open problems
- Understand the inner workings of neural networks to uncover edge cases and make safety determinations
- Design machine learning systems that can understand and communicate when they are not working well.
- Identify and mitigate bottlenecks in our machine learning development processes
What You'll Bring
- 5+ years of professional experience developing software for hardware products in a safety-critical field, e.g. aerospace, robotics, medical devices, autonomous vehicles
- Deep understanding of the theory and practice of modern machine learning techniques
- Deep learning expertise: Experience training deep-learning models in an end-to-end fashion, writing custom layers/operations, optimizing networks for inference on embedded systems.
- Clear grasp on basic linear algebra, optimization, statistics, and algorithms.
- Experience working with Pytorch, Tensorflow or other modern deep learning frameworks.
- You are passionate about ML, both large scale engineering and research challenges, especially in the space of autonomous driving and/or robotics.
- Strong software engineering practices in Python with machine learning experience in a production setting.
- Computer vision experience not required, but recommended.
- Generalist mindset, with the ability to work cross platform, from spooling up cloud compute services to optimizing for embedded systems
- Experience building reproducible data and machine learning pipelines
- Experience deploying machine learning solutions on real robots is a big bonus