Apple

Apple

Cupertino, CA

CPU Performance Simulation Environment Lead

Job Summary

Are you forever advocating for a better way to do things? Do you believe that automation is key to advancement? Do you derive satisfaction from empowering others as well as yourself to work more efficiently? Enable something remarkable that makes a difference. Use your skills to solve demanding challenges. Apple is seeking an experienced software engineer who can architect and enhance CPU simulator environment as a leader on the CPU Architecture and Performance Team; a group that is driving advanced exploration for next generation iPhone, iPad, and Mac CPU architectures.

Key Qualifications

  • Strong C/C++ knowledge with expertise in at least one modern scripting language (i.e. Python)
  • Understanding of robust, agile, and scalable software engineering design patterns including OOP, low-level programming, etc
  • Eagerness and independence in driving good practices across the team, including writing high quality code reviews
  • Excellent communication and technical documentation skills
  • Deep familiarity with CPU simulators, simulation strategies, and identification of architectural performance bottlenecks using visualization
  • Familiarity with build toolchains, unix tools, and software performance optimization
  • Familiarity with web development, GUI frameworks, and/or common data analysis libraries
  • Experience integrating/interfacing software (i.e. different models or scripts)
  • Exposure to cloud compute, databases, and logging techniques
  • Knowledge of OS internals, compiler technology, and ARM architecture a plus

Description

We are seeking an experienced software engineer for an opportunity to have real impact on the methodology by which we explore groundbreaking CPU designs. You’ll be architecting new CPU simulator features and brainstorming novel ideas to boost simulation performance or debuggability. You’ll collaborate with world-class CPU and SoC Architects to steer and improve the implementation of CPU simulators and performance models used for research, performance analysis, and microarchitecture tuning. This includes overseeing code quality, supporting the integration of CPU software models with other models, building peripheral infrastructure and scripts to improve team productivity, and guiding visualization and data analysis strategy. All in an effort to support our fervent drive for insight into system power or performance bottlenecks.

Education

BS, MS, or PhD in Electrical or Computer Engineering, Computer Science, or related field


About Apple

We’re a diverse collective of thinkers and doers, continually reimagining what’s possible to help us all do what we love in new ways. The people who work here have reinvented entire industries with the Mac, iPhone, iPad, and Apple Watch, as well as with services, including Apple TV, the App Store, Apple Music, and Apple Pay. And the same innovation that goes into our products also applies to our practices — strengthening our commitment to leave the world better than we found it. Every new product we invent, service we create, or store we open is the result of people working together to make each other’s ideas stronger. That happens here because every one of us strives toward a common goal — creating the best customer experiences. So bring your passion, courage, and original thinking and get ready to share it. This is where your work can make a difference in people’s lives. Including your own.