Expoint – all jobs in one place
Finding the best job has never been easier
Limitless High-tech career opportunities - Expoint

Apple Software Development Engineer - Applications 
United States, California, Cupertino 
527921872

Today
APPLE INC has the following available in Cupertino, California and various unanticipated locations throughout the USA. Architect and develop anti-reverse engineering software (using C, C++, Python and Bash) that is incorporated in products and services across Apple. Enhance and optimize an LLVM-based C compiler using C++ that touches all aspects of Apple products, including Digital Rights Management (DRM) technologies, and leverage strong software and communication skills to develop and integrate on multiple platforms and architectures. Develop software, work with various architectures (x86/ARM, macOS/iOS, and others), and work with fast-paced teams to produce reliable, robust code. Leverage knowledge security technologies (DRM, cryptography) to develop new binary hardening solutions. Work with reverse engineering protected software to defend against red teaming and IP extraction. Innovate and drive the bleeding edge of software protection technology. 40 hours/week. At Apple, base pay is one part of our total compensation package and is determined within a range. This provides the opportunity to progress as you grow and develop within a role. The base pay range for this role is between $175,800 - $264,200/yr and your base pay will depend on your skills, qualifications, experience, and location.
  • Bachelor’s degree or foreign equivalent in Computer Science, Computer Engineering or related field and 2 years of experience in the job offered or related occupation.
  • 2 years of experience with each of the following skills is required:
  • Architecting core software on a multi-language code base using C, C++, Python and Bash
  • Developing an LLVM-based C compiler that can cross compile to various platforms and architectures
  • Designing and implementing LLVM passes that specialize in processing and analyzing machine learning models
  • Debugging compiler crashes and miscompilations at assembly level
  • Debugging binaries on proprietary hardware platforms, such as ARM TrustZone, or a custom machine learning chip.
  • Creating solutions for common performance bottlenecks of compilers that target multiple architectures
  • Utilizing existing tools and creating new tools to conduct performance measurements on compiled binaries
  • Ability to perform on-site troubleshooting on hardware