This job might no longer be available.
High Performance Software Engineer
4 years ago
Job Description:
As a High Performance Software Engineer, you'll be responsible for delivering high-performance production software with state-of-the-art computer vision 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
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:
- 1+ years of professional experience with high performance / low latency applications with modern C++ and assembly languages
- 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
- Real-time operating systems, Linux job scheduling
- Numerical computing, modeling, simulation
- 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.
#LI-AM2
Create Your Profile — Game companies can contact you with their relevant job openings.