Software Engineer, Technology Development Group (TDG)

Santa Clara Valley (Cupertino), California, United States
Machine Learning and AI


Role Number:200260206
Are you ready to explore applications for augmented reality with a talented and collaborative team? Do you thrive on building solutions rapidly and then iterating on them? We are the team that built many of the key computer vision, computer graphics and machine learning algorithms for ARKit. We're looking for a driven and dedicated Senior Software Engineer to join the ARKit team. As a member of this dynamic group, you will have the unique and rewarding opportunity to shape upcoming products that will delight and inspire millions of Apple’s customers every day. To succeed within this role, you should have shown experience in several of the following areas:

Key Qualifications

  • 3+ years of software design, development, and shipping production level code
  • Experience in C/C++ or ObjC to write clean and well structured code required
  • Ability to write clean, high performing code
  • Experience developing and/or maintaining large frameworks
  • Strong object-oriented programming and design skills with an emphasis on API design, efficiency, and scalability
  • Understanding of SW/HW parallelism, threads, processes, and asynchronous processing
  • Experience working with cross-functional collaborative teams
  • Demonstrated ability to learn and grow when approaching new features and technology
  • Proven ability to effectively prioritize and deliver tasks on schedule
  • Passion for delivering high quality software to end users


Your job responsibilities will include: -Work with researchers and engineers to integrate state-of-the-art algorithms into software frameworks to ship in upcoming products -Collaborate closely with cross-functional teams at Apple to design, implement, and maintain application programming interfaces (APIs) -Enable algorithms to run efficiently on resource constrained devices -Benchmark, improve performance, and refine implementation to deliver high quality production code -Write unit tests for robustness and reliability -Contribute to code reviews and architectural reviews -Ensure the framework is modular, efficient, and scalable for different applications and platforms

Education & Experience

Bachelor’s degree or higher in Computer Science or equivalent field

Additional Requirements