Quality Assurance Engineer for Digital Library Systems and Services
This position is double posted at the 4P3 and 4P4 levels.
Stanford University Libraries and Academic Information Resources (SULAIR) is building an increasingly rich and complex suite of software to support management, preservation, and access to digital knowledge. The Quality Assurance (QA) Engineer is responsible for oversight of the software QA process within Digital Library Systems and Services (DLSS), paying overall attention to the quality and supportability of DLSS software. The QA Engineer works as part of the Application Development team within DLSS, but will provide expertise and support for projects across DLSS.
With an emphasis on automated testing and engineering, the QA Engineer will help to establish release management processes for DLSS applications. As the only dedicated QA engineer for a group with many developers and many projects, establishing distributed QA practices with as much automation as possible will be crucial to the success of this position. DLSS already has a strong culture of test driven development and continuous integration, and is interested in adding other kinds of QA procedures such as load testing, performance testing, data lifecycle testing, inter-system integration testing, and more systematic security and accessibility reviews.
Specific responsibilities include:
• Recommend QA processes for support and adoption by DLSS managers
• Maintain a QA process through the implementation of appropriate and sound QA methodologies and practices
• Establish procedures and best practices for load and performance testing of applications and infrastructure. Provide training, support, and expertise in these testing procedures for the benefit of DLSS colleagues.
• Explore opportunities for collaboration with QA colleagues in other departments, particularly the Enterprise Systems and Programming unit
• Build and maintain appropriate unit, integration, and load testing infrastructure, working with QA colleagues in other departments to share infrastructure where appropriate
• Participate in and advise open source projects that DLSS contributes to on testing procedures
• Review professional literature. Participate in mailing lists and other forums to continually improve knowledge of digital library software and QA practices
Required Knowledge and Skills
• A QA mindset and a knowledge of what’s important to test
• Expertise in test-first development and automated testing
• Expertise in planning, performing, and evaluating load and performance testing
• Experience in performing security audits of web applications
• Thorough knowledge of web accessibility standards, and experience in testing accessibility of web applications
• Experience with software development tools such as revision management tools (especially git), defect tracking tools (especially Jira) and build tools (e.g., ant, maven, rake)
• Experience with ruby on rails and its associated testing frameworks (especially cucumber and rspec) or the ability to learn these technologies
• Experience with RESTful web services and APIs
• Experience with multi-tiered systems, including knowledge of web/application servers such as Apache/Tomcat.
• Demonstrated expertise with XML and related tools and technologies
• Quick and self-bootstrapping learner. Particularly adept at quickly learning new scripting and programming languages.
• Experience with networking and systems integration in a heterogeneous hardware and software environment.
• Excellent oral, written and analytical skills, and demonstrated commitment to continuous testing improvement.
Desired Knowledge and Skills
Demonstrated success participating in and contributing to open source software development projects.
Demonstrated experience with library applications and technology, including experience participating in relevant library open source efforts.
In-depth knowledge of library policies and practice, metadata standards and the scholarly communication framework
Prior, successful experience working as a professional in an academic and/or library environment.
Education: Four-year college degree or equivalent required
Related Experience: 5-7 years required for 4P3 position; 7-10 years or more required for 4P4 position.