C++/Python Software Engineer - Algorithm Integration
Santa Clara Valley (Cupertino), California, United States
Machine Learning and AI
Want to ship amazing experiences in Apple products? Be part of the team in the Video Computer Vision (VCV) organization that focuses on people understanding from real-time video streams and building higher level reasoning algorithms. VCV delivered products such as Face ID, ARKit, and RealityKit. We focus on a balance of research and development to deliver Apple quality, state-of-the-art experiences. Come shape Apple products as a driven and dedicated Software Engineer for integration and data processing with hands-on work in an innovative team and be part of building the next big thing.
- Strong proficiency in modern C/C++ and Python in writing clean and well-structured code
- Ability to design and implement flexible yet efficient software architectures
- Good understanding of data structures and algorithms
- Familiarity with distributed computational models for data processing
- Experience with building real-time data processing pipelines for embedded machine learning or computer vision applications is a plus
- Hand-on experience working with relational and NoSQL databases is a plus
- Familiarity with cloud technologies is a plus
- Excellent written and verbal communication skills, including the ability to describe and document software clearly
- Passion for quality and exceptional attention to detail
- Self-motivated and great teammate
As a Software Engineer in this role, you will be working in a cross-functional team consisting of computer vision algorithm engineers, firmware engineers, and software developers. As part of your responsibilities, you will: * Architect, integrate, and maintain C/C++ software libraries for embedded data processing pipelines for computer vision algorithms that power Apple quality experiences on Apple products. * Architect, implement, and maintain distributed data processing pipelines in Python that enable algorithm benchmarking in the cloud and testing at scale. * Release software as part of a cross-functional process. Own the architecture and work with algorithm engineers together on realizing maintainable and testable implementations.
Education & Experience
MS or PhD in Computer Science or related fields with 2+ years of industry experience, or BS in Computer Science or related fields with 5+ years of industry experience, or equivalent experience working in the industry, with a track record of delivering successful projects.