Kernel Validation Backend Engineer
Job Description
Summary
Do you like working in a fast-paced environment with prototype hardware and software? Do you want to take part in a company that continuously changes the world? The Darwin kernel group within Apple's Core OS organization is looking for a passionate backend engineer with DevOps background to join our new validation software development team. The team is responsible for the validation of kernel technologies on a wide array of Apple products. This position’s primary focus will be developing and maintaining scalable and robust deployment validation pipelines supporting the delivery of new features and / or new devices.
Apple is an equal opportunity employer that is committed to inclusion and diversity.
Apple is an equal opportunity employer that is committed to inclusion and diversity.
Description
Successful candidates will join a multifaceted team responsible for validating the latest features in kernel technologies on all of Apple products, from watches to laptops, including unreleased prototypes. Our team works in collaboration with other software development and validation teams around the world and involved across the entire development lifecycle, from the initial design until we ship to the customer. Your responsibilities will include developing of scalable backend components, setting up deployment pipelines, analysis of complicated failures and so much more.
Minimum Qualifications
- Strong skills in with one high-level language, e.g Python, C#, Java.
- Experience developing in Docker and K8s environments.
- Experience developing backend / back-office components and solving scale issues.
- Experience interacting with databases.
- Strong analytical and debugging skills.
- Excellent communications skills in English.
- Bc.s./Mc.s. in Computer Science or related field, or equivalent work experience.
Preferred Qualifications
- Strong experience with Python.
- Experience working with Unix operating systems.
- Experience writing tests in at least one of the different levels: unit, integration and end-to-end.