Senior Embedded Software Engineer
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! Join us to help deliver the next groundbreaking Apple product. At Apple, we work every single day to craft products that enrich people’s lives. Do you love working on challenges that no one has solved yet? Do you like changing the game? We have an opportunity for a results-oriented and especially talented embedded software engineer. As a member of our dynamic group, you will have the unique and rewarding opportunity to shape upcoming products that will delight and inspire millions of Apple’s customers every day.
- 5+ years of experience with memory and power constrained micro-controllers and working with new peripherals, features, and development environments.
- Excellent programming skills in C.
- Strong experience in RTOS, software development and verification methodology, version control and automation tools.
- Experience in low-pin-count communication buses (I2C or UART or SPI).
- Experience with troubleshooting tools (JTAG, SWD, oscilloscopes, logic analyzers).
- Scripting experience with any of the following Python or Perl or Lua.
- Knowledge of ARM architecture is a plus.
In this role, you will utilize your technical knowledge to drive features and improvements including: - Architect firmware to support various algorithms embedded in hardware platforms - Support full firmware lifecycle including design, development, debugging and ongoing sustaining - Generate and evaluate functional and design specifications - Work with multi-functional teams to determine software architecture and specification to meet the product requirement and user experience - Work with project leaders to define assignments, schedules, quality expectations, and other project criteria - Present results and recommendations - Develop and maintain various engineering tools used to debug, analyze, and test embedded products - Be the champion for the success of firmware development projects and take initiatives to ensure success In addition to the above we are looking for an individual who is comfortable with dynamic requirements, and have excellent interpersonal skills. Success depends on working with cross-functional teams. Must have excellent written and verbal communication skills. You are self-driven with excellent time management skills and can demonstrate creative problem solving.
Education & Experience
MS or BS in an engineering field