System Software Engineer - Human Interface Devices
As a System Software Engineer within our team, you will be responsible for maintaining and developing system software for iOS, macOS, tvOS, and watchOS; focusing on drivers, frameworks, and software stacks for future sensing technologies. All of this is in collaboration with multi-disciplinary teams to integrate hardware and software, ensuring top-tier performance. In addition to your engineering contributions, you will mentor engineers, helping them grow their technical expertise. There is also a path to take on leadership responsibilities, including guiding a team and influencing the direction of future product development.
Minimum Qualifications
BS in Computer Science or a related field, and 10 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
Preferred Qualifications
MS/PhD in Computer Science or a related field
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