iOS Software Engineer- Location Technologies
About the role
Senior Systems Software Engineer within the Location Team focusing on multi-component location systems that integrate inertial sensors, visual sensors, wireless radios, GNSS, and on-device processing. The role combines architecture design across hardware, firmware, and software with hands-on development, bringing up new hardware, and debugging complex cross-stack issues while emphasizing privacy and security.
Responsibilities
- Help define the architecture of multi-component location systems spanning hardware, firmware, and software, and implement the interfaces that hold them together
- Write, review, and maintain production-quality code in C++, Objective-C, and Swift for systems that ship to our customers
- Design and implement how inertial, visual, and wireless sensing come together into a system that behaves as one
- Integrate and bring up new hardware and software components, working through the problems that only surface on real devices
- Weigh the tradeoffs between accuracy, latency, power, memory, and reliability, and bring partner teams along with your reasoning
- Debug complex issues across the full stack, where the root cause could sit anywhere from the sensor to the application
- Take new technologies from early prototype through evaluation and into production, fusing them with our existing capabilities
- Collaborate with silicon, hardware, firmware, and algorithms teams from first concept through shipping
- Build the tooling and instrumentation that let us characterize how a system really behaves, with data rather than intuition
- Participate in evaluating new signals and technologies as our platforms continue to evolve
Qualifications
- At least 7 years of hands-on C++ or Objective-C programming experience, or in a comparable modern systems language such as Rust, with coding central to your day-to-day work
- Experience designing and implementing complex systems built from multiple hardware and software components with tight interaction between them
- Deep experience at the hardware/software boundary: sensors, radios, cameras, firmware interfaces, drivers, or timing and synchronization
- A track record of taking a system from concept to production, including integration and bring-up you performed yourself
- Know how to debug complex systems where the root cause is not localized
- Deep understanding of software design paradigms and software development best practices
- Excellent collaboration and communication skills
- A passion for programming and building things
- BSc in Computer Engineering, Computer Science, Electrical Engineering, or equivalent experience. MSc in a relevant field a plus.
Skills
About Apple
Discover the innovative world of Apple and shop everything iPhone, iPad, Apple Watch, Mac, and Apple TV, plus explore accessories, entertainment, and expert device support.
Discover the innovative world of Apple and shop everything iPhone, iPad, Apple Watch, Mac, and Apple TV, plus explore accessories, entertainment, and expert device support.
More open roles at Apple
- Senior UI Software Engineer, Cocoa2d agoCupertino, CA · Software and Services
- AIML - Machine Learning Engineer, Visual Intelligence Technology2d agoHybrid (Cupertino/Santa Clara/SSeattle area (3 work locations)) · Visual Intelligence Technology
- Physical Design Methodology CAD Engineer2d agoHybrid (Sunnyvale, California), Hybrid (Austin, Texas) +3 more · Hardware Technology CAD team / Silicon Technologies group
- Sr. ML Optimization Engineer, ASE Efficiency2d agoHybrid (San Diego, CA) · Software and Services
- Sr. ML Optimization Engineer, ASE Efficiency2d agoHybrid (Seattle, WA) · Software and Services