Embedded Software Engineer
Santa Clara Valley (Cupertino), California, United States
Apple's embedded firmware/software team is looking for an extraordinary software engineer to drive state of the art technologies for Apple products. Our team works on all core hardware components where you will have the chance to define the way that Apple develops, tests and manufactures its products. Our close-knit team cultivates an environment of product innovation, rapid product iteration and collaboration at both team and multi-functional levels with a liberating amount of autonomy.
- A real passion for embedded software development.
- Proficiency in C/C++.
- Experience developing device drivers
- Experience with debuggers such as gdb, lldb, etc.
- Familiarity with scopes and logic analyzers.
- Able to comprehend hardware specs and schematics.
- Familiarity with standard hardware protocols (USB, UART, SPI, I2C, PCIe, MIPI, HDMI, DDR)
- Familiarity with some form of scripting (Bash, Perl, Python ).
- Ability to deliver on tight schedules.
- Excellent collaborative skills, should be a great teammate.
- Exceptional written and verbal communication.
In this role you will implement, maintain and solve problems in our software including drivers for common firmware interfaces, chipsets, communications protocols and various SoC blocks. The role is highly reliant on honed debugging skills that cover both HW and low level SW. You will also implement features to support hardware testing and diagnosis of Apple’s mobile devices. This is a highly multi-functional role and you’ll work closely with various teams, like EE, Systems Engineering, Hardware Testing, QA, Factory, Manufacturing and Operations. The environment is dynamic, fast-paced and requires a self-starter attitude. The international travel requirement is 10-15% (flexible and product dependent).