Firmware Developer - Exploratory Design Group
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 you could accomplish. Dynamic, smart people and inspiring, innovative technologies are the norm here. The people who work here have reinvented entire industries with all Apple Hardware products. The same passion for innovation that goes into our products also applies to our practices strengthening our commitment to leave the world better than we found it. Join us to help deliver the next groundbreaking Apple product. Do you love working on challenges that no one has solved yet? As a member of our dynamic group, you will have the unique and rewarding opportunity to craft upcoming products that will delight and inspire millions of Apple’s customers every single day. Apple’s Exploratory Design group is seeking an enthusiastic firmware developer to join a team of highly innovative scientists and engineers to design, validate and implement novel technologies. You must be self-driven and self- sufficient in laboratory environments. You must be comfortable and able to work efficiently with software at the hardware level. However, it is highly desirable that you can also create a full software stack to execute experiments, analyze any measurement results, and create basic visualizations of the data.
- ARM architectures, C/C++, Python, shell scripting (sh/zsh)
- HW bring-up and debug
- Understanding of common serial buses: I2C, RS232, SPI, etc.
- System level runtimes and device driver development
- Knowledge of operating system concepts
- Basic signal processing and analysis techniques
- Good understanding of ADCs and DACs
- Lab equipment use and programming
- Mathematica and/or MATLAB experience is a plus
- Verilog or VHDL and understanding Digital Logic Design is a plus
- Self-directed investigations
- Debug, math and analytical skills
- Outstanding written, verbal and presentation skills
The responsibilities of this role will include but are not limited to: assisting with the bring-up of new innovative hardware, creating device drivers for it, writing algorithms that take advantage of those drivers in the host OS to execute experiment test plans and the post-processing of any measurement results which may include basic visualizations.
Education & Experience