Apple is a place where extraordinary people team up to do their best work. Together we build products, services and experiences people once couldn’t have envisioned - and now can’t imagine living without.
Imagine what you could do here. At Apple, new ideas have a way of becoming phenomenal products, services, and customer experiences very quickly. Bring passion and dedication to your job and there's no telling what you could accomplish. The success we are aiming for will be the result of very skilled people working in an environment which cultivates creativity, partnership, and thinking of old problems in new ways. If that sounds like the kind of environment that you find intriguing, then let's talk.
The Apple Media Products (AMP) Search Team is looking for an extraordinary Quality Assurance (QA) Engineer to help test next-generation search features. AMP platforms are the largest online marketplace for digital media in the world. Responsibilities include: performing functional, regression, ad-hoc and compatibility testing of Search features and RESTful APIs. Day to day work involves maintaining and growing a suite of automated Search API tests, bug reporting and isolation, test plan documentation, and working closely with other teams (engineering, project management, etc.).
- We are seeking someone with:
- Demonstrated knowledge of object-oriented programming in Python
- Proven experience testing Client-Server products
- Experience with implementing automated tests for back end systems
- Familiarity with UI and API automation frameworks and tools
- STRONG UNDERSTANDING OF DISTRIBUTED SYSTEMS
- Excellent technical knowledge and understanding of complex system architectures to design effective test strategies and drive execution
- Experience with testing and/or implementing REST APIs, RPC Service Patterns, Web Sockets, and other client/server interaction models
- Bachelors degree or 5 years relevant experience testing software using automation
- Ability to lead projects and operate as part of a team
WE ARE LOOKING FOR SOMEONE WITH:
- Exceptional analytical skills in test case design and bug diagnosis
- Proficiency in and experience with applying software engineering standard methodologies and principles.
- Ability to test/regress a high volume of changes on a day-to-day basis
- Excellent bug reporting skills and the ability to communicate clearly with various teams across multiple geos
- Strong commitment to technical quality assurance as a key part of the software development cycle
- Be an independent thinker, leader, and problem solver
- Be comfortable with test driven development (TDD), static analysis tools and IDEs
- Initiative and drive for constant improvement of test automation frameworks and be able to refactor or implement new frameworks from the ground up
- Ability to collaborate with Software Engineers, DevOps and Product owners to verify the testability of releases and define strategies and standard methodologies for all streams (functional / non functional and automation).
Education & Experience
Bachelor /Master Degree in Computer Science or equivalent
- Desired Skills
- Basic understanding of Lucene/Solr
- Experience automating in a CI/CD environment
- Background testing search technologies a plus
- Experience with OOP and design patterns, Java and MVC software/web/API development experience
- Understanding of HDFS and other Big Data technologies (e.g. Kafka, Voldemort, etc)
- Working knowledge of Natural Language Processing is a plus
- Familiarity with performance, load and stress testing is a plus