Embedded Software Engineer, Platform Architecture
Santa Clara Valley (Cupertino), California, United States
Imagine what you could do here. At Apple, new ideas have a way of becoming extraordinary products, services, and customer experiences very quickly. Bring passion and dedication to your job, and there's no telling what we can accomplish together. Do you love pursuing big challenges that require especially creative solutions? Can you intrinsically see the importance in every detail? Do you strive to craft elegant solutions to highly complex challenges? Our Platform Architecture group is responsible for connecting our hardware and software into one unified system, and we design technologies to work seamlessly in unison. Join this team, and you’ll develop forward-looking prototype systems in collaboration with engineers across Apple. We take daring, revolutionary ideas and turn them into reality. You and your team will apply engineering fundamentals and start from scratch if need be. Together, our work will lead to the intuitive technology experiences that Apple is known for worldwide. Apple's Platform Architecture Engineering group is seeking an excellent Software/Firmware Engineer with working knowledge of general digital/EE design. In this role, you will be responsible for development of macOS, iOS and micro-controller code, investigating new technologies, prototyping concepts, and developing instrumentation/tools. This position is the focal point for HW/SW integration, requiring a self-driven engineer with excellent initiative.
- Excellent programming skills and knowledge of C and OOP practices.
- Experience with micro-controllers and working with new peripherals, features, and development environments.
- Development experience on Unix, Linux or macOS.
- Ability to read serial bus traces, board schematics, use an oscilloscope and logic analyzer.
- Experience with board bring up and digital hardware.
- Experience with ARM, USB, I2C, SPI, scripting (Bash, Python, Lua, etc) and Git.
- Objective-C, OS X driver development experience a plus.
Embedded software/firmware design and implementation. Collaborate with mechanical, EE, SW and other teams on device design. Thoroughly document and support implemented code. Must be a great teammate with excellent communication, negotiation and presentation skills.
Education & Experience
BS/MS CS/CE/EECS and experience in embedded software solutions.