Senior Software Development Engineer in Test
Santa Clara Valley (Cupertino), California, United States
Software and Services
Imagine what you could do here. At Apple, great ideas have a way of becoming great products, services, and customer experiences very quickly. Bring passion and dedication to your job and there's no telling what you could accomplish. Apple’s Applied Machine Learning team has built systems for a number of large-scale data science applications. We work on many high-impact projects that serve various Apple lines of business. We use the latest in open source technology and as committers on some of these projects, we are pushing the envelope. Working with multiple lines of business, we manage many streams of Apple-scale data. We bring it all together and extract the value. We do all this with an exceptional group of software engineers, data scientists, dev-ops engineers and managers.
- The position requires solid knowledge of clean coding practices and experience with open source technologies.
- Solid Object Oriented Programming skills and proficiency in Java and/or Python.
- Experience of testing distributed systems built around such technologies as Cassandra, Hadoop, Spark, Kafka etc
- General understanding of Machine Learning lifecycle, concepts and major technologies
- Practical experience of planning and executing Integration, System, API and Acceptance testing including building correspondent test automation frameworks
- Solid understanding of Continuous Integration / Delivery practices and solutions
- Candidate is expected to be comfortable in Linux environment, working with CLI, Git and Shell-scripting
- Familiarity with containerization solutions like Docker and Kubernetes, as well as configuration and deployment management is a strong plus
Join Apple's Applied Machine Learning Team, as a Software Engineer in Test, to help build innovative software applications. Candidates should have quality assurance experience on large scale mission critical applications. The main responsibilities for this position include: - Design and implement test automation frameworks for large scale multi-tier distributed applications - Create and maintain tools to assist better quality of application development, distribution and deployment - Report and verify issues, monitor results of automated test execution Integrate test coverage, system and unit testing frameworks, deployment, release and monitoring tools to achieve Continuous Integration and Delivery - Work together with development, dev-operations and project management teams to promote clean coding, effective deployment an quality solution for the benefit of end user.
Education & Experience
BS in computer science with 7-10 years or MS plus 5-7 years experience or related experience.
- DESIRED SKILLS
- - Python/Shell
- - Vagrant/Docker
- - Integration/System/API/Acceptance testing