Embedded Controls Software Engineer - Multiple Levels

With Apple in Cupertino CA US

More jobs from Apple

Posted on April 11, 2021

About this job

Job type: Full-time
Role: Embedded Developer
Industry: Consumer Electronics
Company size: 10k+ people
Company type: Public


c, embedded

Job description

Come develop innovative control firmware for autonomous systems. The position requires high level thinking to architect code solutions along with low-level programming, excellent communication and leadership skills, and the ability to work in a fast-paced environment. You will be a mentor to the junior members of the team and will have the opportunity to lead cross-functional design with mechanical, electrical, and controls engineers. Working on this technology you will have the opportunity to have a major impact on the capability, user experience, and quality of Apple's future products. Our collaborative environment fosters innovation within a creative solution space.

In this role, you will design and implement control systems firmware for the complex embedded systems that form the backbone of groundbreaking Apple products. Working in a vibrant, collaborative environment, you will design, implement, and integrate software for some of the most sophisticated technologies on the planet. This position is ideal for candidates with a broad engineering background, a passion for problem solving, and specific expertise in firmware development. Backgrounds in multidisciplinary fields such as consumer devices, medical devices, robotics, mechatronics, aerospace, and the like would all be excellent preparation for the highly cross-functional environment at Apple.

Skills & requirements

  • The ideal candidate will have at least 5+ years of real time embedded software development experience (design and implementation)
  • Outstanding proficiency in C on resource-constrained embedded platforms
  • Experience with Real Time Operating Systems (RTOS)
  • Working knowledge of standard hardware protocols (e.g. I2C, SPI, UART)
  • Experience with networking, concurrency, and distributed systems
  • Proficiency reading hardware specifications and schematics
  • Knowledge of operating systems concepts.
  • Proficiency debugging embedded software systems: familiarity with JTAG, oscilloscopes, etc.
  • Experience in motor controls and robotic actuators is beneficial
  • Experience with robust coding standards in safety-critical environments such as DO-178B/C, MISRA / ISO 26262, or IEC 61508 / 62304 are a plus
  • Experience with model-driven architecture and formal verification is desirable

Bachelor of Science degree in one of CS, CE, EE plus five years in industry, Masters plus three years, or equivalent experience.

Apply here