Systems Software Engineer - Human Interface Devices
Job Description
Summary
Our Human Interface Devices Software team delivers high-quality drivers, frameworks and tools supporting sensing technologies across all Apple products. Primarily supporting the multi-touch technology, we have deep experience developing systems software and building stacks that enable the best user-experience! We work closely with Algorithms, Firmware, Design, and UI teams to ensure sensor and software performance is optimized across all layers of the stack.
Description
We are looking for an engineer to work on drivers, frameworks, and tools for iOS. In this role, you will maintain existing software and design new software stacks for future products and sensing technologies. Ideally, you have experience dealing with human factors, care deeply about user experience, enjoy supporting technology investigations, and are comfortable jumping between multiple levels of the software stack.
Minimum Qualifications
- BS and 10 years of relevant industry experience
- Experience developing system software; such as drivers or frameworks
- Strong C/C++ and object-oriented programming skills
- Excellent debugging skills
- Ability to quickly familiarize yourself with code you’ve never seen before, and understand the pertinent functionality
- Self-advised, analytical, and works well in a team environment
- Comfortable working at both higher and lower levels of software
Preferred Qualifications
- Using C/C++ for low level systems, and experience designing and implementing system software for drivers
- Experience in Kernel driver development, including designing and implementing kernel drivers for various hardware sensors in Unix, Linux or iOS
- Experience in designing and implementing SW interfaces/APIs among software, firmware and algorithms modules
- Experience with profiling code in both kernel and userspace
- Experience in debugging embedded system issues with hardware, assembly and software tracers
- Strong verbal and written communications skills
- Mentored junior team members