System Software Engineer - Sensing and Connectivity System Engineering Team
Summary
Here at Sensing and Connectivity we work on a very diverse set of technologies, and because these technologies are so fundamental and critical to Apple, we impact all of Apple's products. We work on all major Apple platforms like iPhone, iPad, Apple Watch, Mac, Apple TV, HomePod, AirPod, AirTag, etc. We:
-\tProvide the most accurate location, balancing power and availability
-\tLearn your location trends to suggest destination in Maps, remember where you parked, or trigger DND While Driving
-\tProvide motion capabilities for raise-to-wake, portrait/landscape, or driving a race car game by tilting
-\tTrack your calories, exercise minutes, active calories, and other health/fitness metrics
-\tPeer-to-peer networking for Continuity, unlocking Mac with Watch, and phone call relays
-\tAirPod magic for pairing, battery status, automatic pause when taken out of ear, and seamless switching between phone and Watch
-\tNetworking throughputs for downloads, AirPlay streaming, and AirDrop sharing
-\tMFi hearing aids for the best hearing aid experience on a smartphone
-\tWheelchair mode for Apple so more users can enjoy our all-day fitness and health features
and more. We are extremely proud of our work on accessibility. We believe in building products that empower all of our customers, and truly making a difference.
Key Qualifications
You've developed kernel codes from scratch for large operating systems
In-depth knowledge of C and C++
You have a deep interest in system programming concepts such as memory management and process management
Looking at bugs under pressure excites you
You know what buses such as UART/USB/SPI/PCIe are
Ability to work under tight schedule and deliver on time
Excellent analytical, programming and debugging skills
Thrive in a collaborative environment and can clearly communicate while confidently driving multiple projects across many teams
Obsessively passionate and inquisitive, and seek to solve everyday problems in innovative ways
Laser-focused on the smallest details that are meaningful to our customers
Strong communication and collaboration skills
Description
The Sensing and Connectivity System Engineering team is actively looking for a highly motivated Software Engineer to contribute and build Apple's future sensing and connectivity products. The successful candidate will demonstrate deep knowledge in kernel driver development, embedded firmware development, operating system debugging and a desire to work with C and C++ System Programming for our devices. Our team builds technology that defines industry standards, and therefore we seek people who thrive to innovate. Tenacity and the passion to learn are skills we value on our team, and if you want to impact the future world of Apple products by working on the most advanced operating system solutions, we want to talk to you.
Our team is responsible for many aspects of our sensing and connectivity products. As part of the team, you will learn deep internals of operating system design and C++ library design as well as come across rare and difficult to root cause problems.
As part of our team, you will contribute to the following:
Architecting and defining next generation of sensing and connectivity solutions
Designing and developing drivers for multiple sensing and connectivity solutions
Designing daemons and new system software for data movement and inter-chip communication schemes
Optimizing end-to-end data path to:
maximize throughput
minimize CPU utilization
minimize power utilization
minimize packet latency
Designing the system software for boot and managing the lifecycle of the chip
Bringing up new connectivity chips across Apple products
Triaging and consolidation of day-to-day Kernel Panics, stability and power challenges
Debugging hard to reproduce issues
Owning the development and debugging cycle of operating system stability issues along with driving the maintenance of existing code base
Working closely with cross-functional hardware teams, various operating system teams for bring-up of new chipsets
Education & Experience
Bachelor's degree in Computer Science or equivalent with operating system focus desired.