Bring Up Engineer, Core OS

AppleApplyPublished 11 days agoFirst seen 11 days ago
Apply

Summary

Are you a big-picture thinker who loves setting ambitious goals? Do you have a passion for understanding how each line of code affects all the others? In the Core Operating Systems group ensuring the OS is inseparable from each device’s identity as a whole. That’s because this group is committed to building fully integrated operating systems that combine hardware, software, and apps into a single Apple experience. Your dedication to cross-disciplinary collaboration will help develop groundbreaking technologies, such as iOS, macOS, watchOS, and tvOS. By crafting these distinct, holistic user experiences, you’ll continue to uphold and advance the excellence people expect from Apple devices.

The Core Platform Bring-up team within Apple's CoreOS organization is looking for an extraordinary software engineer to work on state-of-the art technology, debug, and bring-up of next generation iOS devices. We work on a core technology for Apple. In this role you will have the chance to make a major impact in the way that Apple develops and ships iOS based products. Our working environment fosters product innovation, rapid product iteration, and a liberating amount of autonomy.

Description

Work with multi-functional teams to support product requirements for the iPhone/iPad/Apple Watch/AppleTV/Mac bring-up, verification, and debug of new hardware platforms. Develop firmware and drivers. Drive product features and functional/industry specifications. Involvement in specification for hardware platforms.

Responsibilities

  • Bring up new hardware platforms, from pre-silicon simulation through first boot on real silicon
  • Develop and debug the low-level firmware that starts every Apple product
  • Debug hardware and software issues at the deepest levels of the stack, on simulators and in the lab
  • Partner with silicon design, driver, security, and validation teams throughout the full bring-up lifecycle
  • Influence hardware design by reviewing specifications before silicon is built
  • Drive platform features from concept through delivery, taking end-to-end ownership
  • Build the tools and automation that make the next bring-up faster than the last

Minimum Qualifications

  • 3-5 years proven experience developing and debugging systems-level or embedded software
  • Strong proficiency in C or C++, and comfort reading hardware documentation
  • Solid grasp of computer science fundamentals, operating systems, and computer architecture
  • Excellent troubleshooting skills and a passion for quality
  • Ability to work with ambiguity and take ownership of a problem end to end
  • Willingness to ask for help and learn from others
  • Committed to encouraging an open and inclusive work environment
  • Strong communication, collaboration, and project management skills
  • Bachelor's Degree in Computer Science or Computer Engineering, or equivalent experience

Preferred Qualifications

  • Demonstrated interest in embedded and low-level systems development
  • Experience bringing up or porting an operating system on new hardware
  • Experience writing embedded device drivers
  • Proficiency with JTAG and other hardware debuggers
  • Familiarity with ARM processor architecture
  • Experience with hardware simulation or FPGA-based emulation
  • Scripting experience in Python for test and automation