As a Senior Software Engineer in the AR Cloud Perception team, you'll be responsible for delivering production software with state-of-the-art computer vision and deep learning capabilities. Your code will be part of the foundations of our 3D platform that enables the next generation of computing applications for many years to come. In this position, you will work in developing and optimizing perception algorithms on cloud and on embedded platforms.
Develop state-of-the-art performance critical perception systems
Own and drive highly visible performance metrics (e.g. latency, memory, bandwidth, power)
Collaboratively work as part of a fast paced team, analyze and optimize a growing C++ and assembly codebase
Help define performance standards for algorithms, develop and drive best practices (performance, maintainability, correctness, etc), provide guidance at all stages of the software development cycle and share knowledge
Help drive the integration and development of necessary tooling and automation (profiling, testing/verification, monitoring, etc) that allows the team to move even faster
Help drive computing platforms for next generation products
5+ years of professional experience with high performance / low latency applications with modern C++.
2+ years of experience in Python.
In depth understanding of computer architecture, computing bottlenecks, memory hierarchy, data coherency, caches, high performance architectures (VLIW, superscalar, etc), SIMD, concurrent systems, parallelization, compilers, system simulators
Experience with low latency / high bandwidth real-time data pipelines, batch data processing pipelines, low power embedded systems, integration of specialized hardware acceleration blocks
Strong CS fundamentals, problem-solving, high quality coding, code optimization, memory optimization, performance analysis, understanding of abstraction and modularity, critical path optimization and tuning
Strong sense of curiosity, fast learner
Preferred / additional skills:
Computer vision and deep learning
Numerical computing, modeling, simulation
Understanding of SLAM (pose estimation and tracking) and 3D reconstruction