Position: Middle Test Automation Engineer
Company: Intellias
Experience required: 3y
English level: upper

By making sense of the world through the lens of location, it empowers their customers to achieve better outcomes from helping a city manage its infrastructure or an enterprise optimize its assets to delivering drivers to their destination safely.

We are working on external (non-OEM owned) hub for the secure and non-discriminatory distribution of vehicle sensor data. It is compliant with European standards in data privacy and security and uses blockchain smart contracts.

The AQA Engineer we are looking for will be tasked with ensuring the quality of one of the mission-critical components within Platform's Core Services which provides the foundation for running complex data pipelines at scale through data management, processing, and distribution services and APIs. Data management services include data discovery, ingestion, streaming of vehicle sensor data, extraction, storage and archiving, publishing, schema, and pipeline management. Technological stack of the project includes:

Test Automation: Java 11, Gradle, JUnit5, AssertJ, Lombok, Rest-Assured, Swagger Codegen, Selenide, TestContainers, JavaFaker, Allure, Zephyr-sync, SnakeYaml
CI/CD: Gitlab CI, Kubernetes
Back-End services: Java 11, Maven, JUnit5, Spring Framework, Swagger (OpenAPI v2), Hybernate, PostgreSQL. Other services: TypeScript, Python, Kotlin;
Front-End application: Angular 8, Cypress.

Responsibilities:
As a team member you will:
Work closely with product owners and senior engineers to test and continually improve scalable Java applications and services (micro + macro + blockchain);
Maintain product quality during the whole development process to production;
Maintain and improve test automation project for microservices;
Code review, Design review, refactoring;
Suggest areas for improvements in internal processes along with possible solutions;
Provide risks identification and prediction that can impact QC and the customer;
Provide requirement analysis for defined scope of work;
Create/update/review of testing documentation and product documentation (e.g. release notes, user guides);
Take accountability for overall quality of software products as well as time and complexity estimation of own technical tasks;
Participate in bug triage sessions and product demos;
Collaborate with other engineering teams to resolve dependencies.

Requirements:
2+ years of experience as AQA engineer (Java, Kotlin, Groovy);
Good understanding of OOP and design pattern;
Knowledge of xUnit testing patterns;
Experience with xUnit test runners (JUnit4/5, TestNG); 
Experience with using Postman;
Experience with Linux-based systems;
Familiarity with testing fundamentals, methodologies and techniques;
Ability to prepare test design according to the defined test approach to guarantee full coverage of product specifications or requirements;
Experience in testing complex web apps with abstract business logic;
Experience in tools, techniques, and platforms for defect tracking, test design, and execution;
Strong understanding of SDLC and Agile methodologies and engineering practices;
Profound knowledge of Client/Server applications and how they work;
Basic ability to work with CI/CD systems: fetching artifacts, starting a build;
Understanding of Docker concepts;
Experience with VCS: pull, push, rebase, merge, squash commits;
Ability to multi-task with multiple priorities and time frames and to work independently with no supervision;
Be ready to work across time-zones, ability to work with remote teams effectively;
Upper-intermediate level of written and spoken English, ability to articulate and communicate clearly complex topics.
Higher Education: Bachelor's Degree/Master's Degree