Core responsibilities
Test automation
- Design, develop, and maintain automated tests (UI, E2E, functional, and integration) across multiple platforms and environments: Linux, Windows, macOS, Docker, and WSL.
- Expand test coverage for new and existing functionality.
- Monitor automated test execution results.
- Debug and troubleshoot test failures, distinguishing product issues (regressions) from infrastructure-related issues (including test, framework, or environment).
- Optimize test execution time and reliability.
- Improve test automation stability and contribute to automation frameworks.
Quality assurance
- Report bugs in YouTrack and verify that they are properly fixed and backported.
- Participate in release quality assessments.
- Collaborate with QA and developers on testability and quality improvements.
- Help define test strategies and quality gates for your team.
- Support manual QA activities when needed.
Continuous improvement
- Define and track quality metrics, including testing coverage, failure rate, and flakiness.
- Identify gaps in test coverage and propose solutions.
- Improve domain-specific test infrastructure and CI/CD pipelines within your team's scope.
- Share knowledge about automation best practices with other team members.
- Work with the tooling team to adopt new frameworks and practices.
Required skills
Technical foundation
- Proven experience in test automation.
- Solid programming skills in Kotlin or Java and a good understanding of the JVM.
- Experience with test frameworks: JUnit or TestNG.
- Understanding of software testing principles and methodologies.
- Familiarity with CI/CD tools (TeamCity or similar).
- Experience with reporting tools (Allure or others).
- Version control experience (Git).
Quality mindset
- The ability to isolate root causes and distinguish product bugs from environment issues.
- Attention to detail while maintaining focus on overall quality goals.
Collaboration
- Excellent communication skills in English, both written and verbal.
- Experience working in cross-functional teams and collaborating with other teams.
- Comfort with giving and receiving constructive feedback.
- The ability to grasp new concepts quickly and to work both in a team and independently.
Nice to have
- Experience testing developer tools, IDEs, and desktop applications.
- Experience building automated testing infrastructure and processes.
- Experience in performance testing.
- Experience in manual testing.