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 you could accomplish. Would you like the stimulation and challenges of building a world-class and extraordinary system? Then this is the opportunity for you at Apple!
Come join a team of creative, energetic, and enthusiastic firmware engineers responsible for next generation Human Interface Devices for iPhone, iPad, iPod, and Mac. We are looking for talented individuals who enjoy building firmware for microcontrollers, prototyping concepts, investigating new technologies, and ultimately delivering high-quality products. In this role, you will be at the focal point of many multi-functional interactions with the hardware, soft- ware, and QA teams.
-You're good in using C or C++ for embedded systems.
-Experience in interfacing microcontrollers with analog and digital sensors.
-You've working knowledge of one or more communications protocols (e.g. USB, Bluetooth, UART, SPI, I2C)
-Experience in implementing firmware in bare-metal or RTOS environments
-Demonstrated capability in applying software best-practices to firmware designs
-Solid board bring-up and debug skills
-Strong communication and teamwork skills
As a HID firmware engineer, you'll be working on many of Apple's embedded input devices (touchscreens, trackpads, keyboards, mice, cameras, etc), you will bring up and debug proof of concept prototypes quickly. Architect, implement, and maintain complex firmware designs. Write clean, easy to understand, robust, and sustainable code tailored for embedded systems Negotiate, specify and document communication protocols, system states, and FW/SW feature requirements with the SW team. You will assist in selecting microcontrollers, defining power management strategies, and reviewing schematics with the HW team. Work with the QA teams to inform and shape their white-box testing.
Education & Experience:
Bachelor Degree in Computer Science/Engineering or Electrical Engineering and Computer Sciences or related field or relevant industry experience is required.
- Experience with one or more microcontroller cores ( ARM, AVR, MSP430, PIC, M8C, 8051 ).
- Debugging skills with JTAG, Oscilloscopes, and/or Logic analyzers.
- Development experience on Unix, Linux, or Mac OS X is preferred.
- Familiarity with video camera, displays, or input technologies is preferred. Cocoa, Objective-C, or IOKit is preferred.