Apple's embedded firmware/software team is looking for an exceptional software engineer to drive cutting-edge technology for Apple products. Working on core technologies you'll have the opportunity to make a major impact in the way that Apple develops, tests and manufactures its products. Our environment fosters product innovation, rapid product iteration and a liberating amount of autonomy.
- A genuine passion for embedded software development.
- Ability to architect, develop, integrate, and debug embedded firmware
- Excellent programming skills in C and solid understanding of embedded systems design and debugging methodologies and strategies
- Understanding and experience with ARM platform and architecture
- Experience developing device drivers
- Experience with debuggers such as gdb, lldb, etc.
- Familiarity with one or more standard hardware protocols (usb, uart, spi, i2c, pcie, mipi, hdmi, DDR)
- Experience with python and/or lua scripting
- Experience with UEFI/EDK2 development is a big plus
- Familiarity with scopes and logic analyzers.
- Able to comprehend hardware specs and schematics.
- Excellent collaborative skills, should be a great team player.
- Outstanding written and verbal communication.
In this role, you will apply your technical knowledge to own feature development and improvements in our EDK2-based environment including: - Architect, implement, and maintain complex firmware designs - Bring up support for new SOCs and hardware product platforms including the implementation of low level drivers and frameworks - Write clean, robust, and sustainable code tailored for embedded systems - Efficiently debug and resolve system issues related to our firmware - Collaborate with cross-functional teams (including EE, Systems Engineering, Hardware Testing, QA, Factory, Manufacturing and Operations) to define and deliver features and resolve issues encountered throughout the NPI process - Mentor less experienced firmware engineers and help guide them to successful deliverables
Education & Experience
MS or BS in Computer Science or Electrical Engineering or equivalent. 7+ years of experience in a similar role.
- In addition to the above, we are looking for an individual who is comfortable with dynamic requirements, a fast-paced environment, and has a go-getter attitude. Must have excellent interpersonal and communication skills and able to work well with cross-functional teams. You are dedicated with excellent time management skills and can demonstrate creative problem solving.