Camera - GPU Vision & Computational Photography Engineer
Santa Clara Valley (Cupertino), California, United States
Software and Services
iPhone is the most popular camera in the world, with billions of photos taken every year. The seamless integration of software and hardware has led to features like Smart HDR, Portrait Mode, and Live Photos which deliver magical experiences that surprise and delight our customers. The GPU Algorithms team in Camera & Photos team delivers amazing quality photos and videos by combining state of the art computer vision, image processing, and machine learning. As an engineer on our team you'll develop and extend those software pipelines, working side-by-side with the world-class engineers who made iPhone’s camera what it is today, and build new great camera capabilities spanning the universe of Apple devices. Whenever you see a “Shot on iPhone” billboard, you see our work; it could be your work too.
- You have 3+ years experience working as part of a software development team.
- You're familiar with common development and debugging techniques, preferably on embedded mobile platforms.
- You have experience with embedded platforms/mobile, a plus.
- You have excellent coding skills in C, C++, or Objective-C. Assembler experience a plus.
- You're proficient in Metal, OpenGL(ES), OpenCL, or CUDA.
- You have experience with Unix/Linux, preferably macOS or iOS.
- You possess strong verbal and written communication skills.
- You're passionate and inquisitive, and seek to solve everyday problems in innovative ways.
If you consider yourself an engaging and highly-collaborative engineer with excellent communication skills, and are comfortable in a dynamic environment, we have a rewarding opportunity for you. We’re looking for a strong software engineer to help implement and optimize GPU image processing algorithms using Metal. In this role, you will work closely with research and frameworks teams on integration of vision and computational photography algorithms in a performance- and memory-sensitive environment. You will then feed this experience back to the SoC team to help drive future GPU designs.
Education & Experience
MS/BS degree in Computer Science or equivalent experience.
- Background in media, graphics, or digital signal processing a plus.