Appleposted 15 days ago
Full-time • Entry Level
Cupertino, CA

About the position

Apple's System Firmware and Diagnostics team is looking for a hard-working Embedded software engineer to join our team. This is an individual contributor role to design and develop the software that gets used by various teams. You’ll have the opportunity to work on core technologies to make a major impact in the way that Apple develops, test and manufactures its products. Our environment encourages product innovation, rapid product iteration, collaboration and a liberating amount of autonomy. In this role you will develop firmware and drivers for common firmware interfaces, chipsets, communications protocols and various SoC IPs. You will also implement features to support hardware testing and diagnosis of Apples’s devices, helping with new technology exploration and proof of concept development. This is a highly multi-functional role and you'll work closely with various teams, like EE, Systems Engineering, Software Engineering, Hardware Testing, QA, Factory, Manufacturing and Operations. The environment is dynamic, fast-paced and requires a go-getter demeanor. The international travel requirement is 10-20% (flexible and product dependent).

Responsibilities

  • Develop firmware and drivers for common firmware interfaces, chipsets, communications protocols and various SoC IPs.
  • Implement features to support hardware testing and diagnosis of Apple's devices.
  • Assist with new technology exploration and proof of concept development.
  • Collaborate with various teams including EE, Systems Engineering, Software Engineering, Hardware Testing, QA, Factory, Manufacturing and Operations.

Requirements

  • BS or MS in Computer Engineering, Computer Science, Electrical Engineering or equivalent.
  • 0-2+ years of validated experience in a similar role.
  • Proficiency in C/C++.
  • Embedded software experience is preferred.
  • Experience developing low level drivers.
  • Understanding and experience with ARM platform and architecture/instruction set.
  • Experience with one or more of the standard hardware protocols (USB, UART, SPI, I2C, I2S, PCIe, MIPI, LPDP).
  • Experience with debuggers such as gdb, lid, etc.
  • Familiarity with scopes and logic analyzers.
  • Able to comprehend hardware specs and schematics.
  • Excellent written and verbal communication skills.

Nice-to-haves

  • Experience with embedded operating systems for consumer electronic devices.
  • Experienced in engaging with multidisciplinary teams to accomplish project goals.
  • Familiarity with some form of scripting (Lua, Python).
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service