Description
Quality Assurance Engineer - Java
Key responsibilities
- Validate software delivered by Data Engineers against user story requirements
- Ensure principles of privacy and security are assessed and designed into your data solutions
- Write high quality, generalised test datasets and test methods for verifying and validating new functional and non-functional software, enabling automated testing wherever possible
- Generate golden datasets to efficiently stress-test software and assure version control
- Report QA outcomes to Data Engineers and Business Owners
- Work in an agile way and to do so closely with colleagues
- Develop new and maintain existing functionality to QA testing for the Data Services platform
- Provide documentation and training material to support knowledge retention
- Maintain a high quality audit trail of your software testing
Key outputs and deliverables
- Software has had an audit-able trail of quality assurance testing conducted on it in accordance with data governance expectations
- Business solutions comply with Privacy and Security requirements
- Knowledge sharing and best practice training are provided to colleagues and the wider base of stakeholders as required
- Business Owners are satisfied that code has been robustly demonstrated to meet their needs
- Documentation regarding QA testing is maintained to a high standard
- Ensure that governance rules, particularly security standards are always upheld
Key stakeholder relationships
- Work with the rest of the team and its key stakeholders, such as Business Analysts, Subject Matter Experts and Data Engineers, to review their work and demonstrate the quality of data handling scripts delivered.
- Support the wider user base with technical support and training, as appropriate
- The Data privacy and information security teams, and assure requirements are identified and addressed.
- Creating processes, automated tools and technics to value, protect and assure data services
Specific skills and capabilities
Essential
- Willingness to constructively challenge the work of others, to ensure high standards are achieved
- Experience of carrying out acceptance demos with stakeholders
Understanding of Quality Assurance data practices
- Awareness of OWASP top 10 security considerations and associated tools
- Hands-on experience writing unit tests and mocking the data
- Hands on experience to analyse regression reports, automated builds and KPI's
- Experience of Test Driven Development applying pair programming and refactoring principles
- Strong experience of writing BDD acceptance criteria or scenarios
- Participated in full development data life cycle
Knowledge of software development experiences
- 3+ years experience in either JS/Java/C# programming language and must be comfortable to develop Strong experience in SQL/HQL for complicated queries
- Automated test framework development from scratch using Python
- Experience of using big data technologies like PySpark/Yarn and Hive
Hands on experience with Linux and Microsoft Azure cloud environment or equivalent
- Experience in using considerable data size (TB/PB)
- Exposure to continuous build and deployment process, with hands on experience in using build systems such as Oozie/Jenkins
- Familiar with defect management systems either using JIRA or similar
The desire to continuously innovate and bring about improvements to best practice, whether applied directly to technology or to best practice with regulatory data
Desirable: