Software engineer - Perception
Santa Clara Valley (Cupertino), California, United States
Software and Services
Apple is looking for software engineers to develop and deploy Perception technologies for autonomous systems. You will work on a hardware/software product enabled by the systems you build.
- C++. You write clean, well-tested code. You’re passionate about code efficiency and correctness.
- Experience working with production software.
- You are able to understand and contribute to high-quality software for a complex system.
- Experience implementing numerical algorithms (preferably in HPC environment).
- Proficient understanding of algorithms and data structures.
- Excellent communication skills. You collaborate optimally with other teams and communicate clearly about your work.
WHAT YOU’LL DO - Take groundbreaking perception models from the lab to a critical system. - Work with machine learning teams to harden models for deployment. - Implement optimized algorithms that perform within platform constraints. - Develop and support tools that accelerate development and deployment. - Ownership for design, development, deployment and test. WORKING WITH THE TEAM - You’ll join a fantastic team of hardworking engineers and researchers with deep experience in robotics, machine learning, and software engineering. We hope you are passionate about the values that drive us: - Passion for the mission: We’re here to make something great. We seek whatever work is right for the product and strive for the best possible results. - Modesty: The right answer is more meaningful than being right. We search for solutions as a team and value clear-eyed feedback. - Lean habits: You can’t grow without limits. Time constraints and big goals inspire us to sharpen our focus and learn to make phenomenal decisions. OTHER SKILLS WE LIKE TO SEE - Experience with Python programming. - Experience with Parallel (tbb / OpenMP) and/or GPGPU programming. - Strong 3D math and linear algebra skills. - Familiarity with cloud development (e.g., AWS, Spark, SQL and databases). - Familiarity with optimization of neural networks for deployment.
Education & Experience
Bachelors or Masters degree in Computer Science or equivalent professional experience.