System Software Engineer - Human Interface Devices
Apple
Job Summary
Apple's Human Interface Devices (HID) Software team develops high-performance drivers, frameworks, and tools for innovative sensing technologies across Apple products. This role involves collaborating with cross-functional teams like Algorithms, Firmware, Design, and UI to ensure optimal user experience. The position offers an opportunity to work on cutting-edge technology, collaborate with industry experts, and provides a clear career path towards leadership. Responsibilities include maintaining and developing system software for iOS, macOS, tvOS, and watchOS, focusing on drivers, frameworks, and software stacks for sensing technologies, in collaboration with multi-disciplinary teams. Additionally, the role involves mentoring engineers and potentially leading teams to influence future product development.
Must Have
- BS in Computer Science or related field
- 5 years of system software engineering experience
- Strong C/C++ and object-oriented programming skills
- Experience in driver and framework development
- Comfortable with high-level and low-level systems development
Good to Have
- 10 years of industry experience
- Experience defining communication protocols (USB, Bluetooth, SPI)
- Familiarity with USB HID specification
- Experience with sensing technologies and input systems
- Proficiency in kernel and userspace code profiling
- Experience implementing customer-facing features
- Familiarity with IOKit, Objective-C, iOS/OS X
- Strong communication skills
- Experience leading projects
- Interest in leadership
Perks & Benefits
- Discretionary employee stock programs
- Discretionary restricted stock unit awards
- Discounted Apple stock purchase
- Comprehensive medical and dental coverage
- Retirement benefits
- Discounted products
- Free services
- Reimbursement for educational expenses
Job Description
- BS in Computer Science or a related field, and 5 years of experience in system software engineering, with a strong focus on C/C++ and object-oriented programming
- Experience in driver and framework development, with a focus on writing native code for driver development
- Comfortable working across both higher-level software design and lower-level systems development
- 10 years of industry experience, with a consistent track record of shipping system software to customer or production environments
- Experience defining communication protocols and implementing transport drivers, such as USB, Bluetooth, and SPI
- Familiarity with the USB HID specification and experience working on sensing technologies (e.g., multi-touch) and user-facing input systems
- Proficiency in profiling code in both kernel and userspace
- Experience implementing customer-facing features, with an emphasis on user experience
- Familiarity with IOKit, Objective-C, and other Apple-specific technologies such as iOS/OS X
- Strong verbal and written communication skills, with the ability to present complex technical topics clearly to both technical and non-technical audiences
- Experience leading projects from conception to completion
- Interest in taking on a leadership role and guiding a team of engineers as the company grows
Apple is an equal opportunity employer that is committed to inclusion and diversity. We seek to promote equal opportunity for all applicants without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, disability, Veteran status, or other legally protected characteristics.
Learn more about your EEO rights as an applicant.