This job might no longer be available.
Senior, Computer Vision Engineer, Algorithm Optimization
2 years ago
Job Description:
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.
Responsibilities:
- 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
Qualifications:
- 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
- GPGPU programming
- Sensors (camera, time-of-flight), image processing
Education:
- BA/BS in CS, EE or similar required. MS, Ph.D. preferred
Additional Information:
- All your information will be kept confidential according to Equal Employment Opportunities guidelines.
Create Your Profile — Game companies can contact you with their relevant job openings.