Position: Senior Java Automation Engineer
Company: EPAM
Experience required: 1y
English level: intermediate

The Senior Automation Engineer is a key role working within a Product team to improve how the team delivers new and existing features with minimum issues. 

 
*Responsibilities*

·        Work with the Product Owner & team to define the User Story Acceptance Criteria and the Definition of Done, to ensure testability for the features within a release
·        Define the test strategy for those features, in collaboration with the various team members, to ensure collective quality ownership:

o  With other Quality Engineers, to identify the appropriate test scenarios for automation.

o  With Developers, to get full transparency on the unit test coverage for a feature and to ‘show’ how a feature will be tested.
·        Analyze the areas identified for your test scope within the user stories and translate them into high-level test scenarios in collaboration with the team e.g. use of Google Analytics, VoG input, key user journeys. 
·        Build, maintain, and add to existing automation test suites that provide the right level of coverage for the areas the team is responsible for, both for new and existing features.
·        Automate for newly integrated features and develop the relevant toolsets
·        Closely work with other engineers across the product team to deliver the highest quality products in a cost-effective manner
·        Work closely with QA & software engineers across other Product Teams to leverage the experience and technical solutions to the benefit of their team.
·        Contribute to the team having transparent quality reporting, to demonstrate the automated test coverage at each level, the execution results, and easy to read outputs
·        Review product requirements and functional and design specifications to determine and prepare automated test cases
·        Participate proactively in all the Scrum Ceremonies e.g. become the voice of quality in estimation and backlog sessions, collaborate with the team to identify and implement improvements via sprint retros, recognizing when other team members need assistance, etc.
·        Recognize areas for improvement across process, tooling, and ways of working, in or outside your team, to identify quality approaches that can benefit your team and others.
·        Active issue management in coordination within the team, communicating the cause, effect, and impact of those issues to the Product Owner, who can then prioritize appropriately.

 
*Essential competencies/skills*
·        Experience analyzing complex solutions and devising the appropriate test strategies for these solutions
·        Experience working in an Agile environment and working closely with other software and quality engineers 
·        Strong Java programming experience, Groovy experience a plus.
·        Practical experience/use of tools like Selenium, Appium, Cypress, Jersey, REST Assured, or equivalent.
·        Hands-on experience in Build Automation and code quality tools, such as Jenkins, Gradle, SonarQube, etc.
·        Practical experience in testing both UI applications across web and mobile devices, and API level testing