Senior Software Development Engineer
Prague, Bohemia, Czechia
Software and Services
The Core OS team is looking for an exceptional engineer to help drive the quality and engineering excellence across iOS and macOS. Working with engineers on firmware, device drivers and frameworks related to human interface devices and sensors will be required. You will have the ability to impact design and implementation of Apple’s embedded and desktop systems. We are looking for someone who can lead the charge on quality for one or more technology areas related to device drivers and/or embedded sensors software. Successful candidate will be capable of getting hands-on with test automation and execution while simultaneously being able to drive overall test planning and quality reporting. You will work in a fast paced environment interacting directly with engineering teams within the organisation as well as cross functional teams. The nature of the position requires the candidate to have excellent communication skills, strong technical and debugging skills, along with a drive to make a difference.
- Experience with writing and debugging complex drivers and related frameworks.
- Experience with C and C++.
- Experience with Python.
- Solid OS fundamentals (experience with iOS and macOS as a developer).
- Excellent collaborative skills.
- Strong written and verbal communication skills.
- Proven ability to ramp up quickly on both new technologies and appropriate existing technologies.
- Highly professional, with the ability to deliver solid work on tight schedules.
- Experience with UNIX/Linux kernel and drivers.
- Experience with emulation and virtualization technologies.
- Experience with issue/bug tracking systems.
- Demonstrated creative, critical thinking and troubleshooting skills.
- Knowledge of robotics and mechatronics a plus.
- Passionate about test driven development.
- Knowledge and implementation of CI/CD systems, tools and technologies.
- Proven track record in driving engineering excellence and quality on large scale projects.
- Work with an engineering team to design, develop and implement a quality strategy that spans development, integration and end-user quality scenarios. - Own an overall quality strategy for technologies. - Investigate and analyze issues spanning hardware and software interaction layers. - Work with partners to develop emulation and virtualization test strategies in order to scale quality verification for legacy products.