Skip to content

Senior Software Development Engineer in Test

Apply
Apply

Share

successfully icon

Successfully

The vacancy has been successfully added to favorites

location icon

Remote Ukraine, Ukraine

specialization icon

Python

lob icon

BCM Industry

date icon

03/11/2026

Req. VR-125637

Apply
Project description

We build an in-house trading platform covering order management, execution, and data analysis. The front end is a set of TypeScript/React apps running in a desktop container and streaming real-time data.
We're hiring a hands-on SDET to own UI test automation: extend our Playwright framework, make streaming, multi-window workflows testable, and add quality gates to CI, including front-end performance. You'll co-architect and co-own a unified testing framework with our backend SDET. It covers UI, API, messaging, data and performance tests in one place.

Responsibilities
bullet icon

Co-architect and co-own, with our backend SDET, a unified testing framework that covers every area we test:

bullet icon

?? Shared foundations: fixtures, test data, configuration, environments and reporting are shared across UI, API, Kafka, database and performance suites.

bullet icon

?? Cross-layer scenarios: one scenario can cross layers. For example, a test places an order in the UI, then checks the resulting event and the database record.

bullet icon

?? One quality view: results from every suite feed a single view of release quality.

bullet icon

Design, build and maintain end-to-end and component tests with Playwright and TypeScript for trading and analytics workflows.

bullet icon

Extend our shared test toolkit: page objects, fixtures, and mocks of desktop-container APIs.

bullet icon

Build front-end harnesses for real-time data: mocked WebSocket and REST responses, controlled test data, and deterministic replay of streaming updates.

bullet icon

Cover UI failure modes: disconnects and reconnects, expired sessions, permission failures, bursty feeds, and stale data.

bullet icon

Own front-end performance testing:

bullet icon

?? Startup and responsiveness: measure app startup and time-to-first-data, and check that the UI stays responsive under high update rates.

bullet icon

?? Grid behaviour at scale: measure render and scroll performance of grids with tens of thousands of rows.

bullet icon

?? Container resources: track memory growth and leaks in long-running desktop sessions, and CPU cost per window.

bullet icon

?? Regression gates: turn the results into budgets that fail CI on a regression.

bullet icon

Build and maintain isolated, on-demand test environments on Linux and AWS:

bullet icon

?? Lifecycle: environments are created per branch or per run, start with seeded data and known state, and are torn down automatically.

bullet icon

?? Isolation: test runs don't interfere with each other or with shared environments.

bullet icon

Validate front-end/back-end contracts and payload schemas.

bullet icon

Run UI suites in CI/CD: sharded parallel runs, scheduled regressions, and reporting on pull requests.

bullet icon

Make failures diagnosable: Playwright traces, screenshots and video, and correlation with telemetry.

bullet icon

Work with UI engineers, business analysts and traders to automate critical workflows and define QA acceptance criteria.

bullet icon

Use AI-assisted tools where they help with writing, maintaining and triaging tests.

Skills

Must have

bullet icon

5+ years of UI test automation, including designing or significantly extending a framework.

bullet icon

Strong TypeScript/JavaScript and Node.js skills, with substantial hands-on Playwright experience. Strong Cypress or Selenium experience plus willingness to move to Playwright is also fine.

bullet icon

Working Python skills (pytest, Playwright for Python): test tooling, data setup, backend checks inside UI scenarios, and contributing to the shared framework.

bullet icon

Experience testing React apps with complex data grids (AG Grid or similar), dynamic forms and heavy client-side state.

bullet icon

Experience mocking network traffic in the browser (REST and WebSocket) and testing authentication flows.

bullet icon

Front-end performance testing experience:

bullet icon

?? Profiling: Chrome DevTools Performance and Memory panels, and the Lighthouse and performance APIs.

bullet icon

?? Diagnosis: finding long tasks, layout thrashing and memory leaks.

bullet icon

?? Budgets: setting performance budgets and enforcing them in CI.

bullet icon

CI/CD experience with Azure DevOps (preferred) or Jenkins/GitHub Actions, and Git.

bullet icon

Experience building isolated test environments:

bullet icon

?? Linux: comfortable on the command line, with shell scripting, processes, networking and log troubleshooting.

bullet icon

?? Docker: Docker and Docker Compose.

bullet icon

?? AWS: EC2, ECS or EKS, S3, IAM, VPC and CloudWatch.

bullet icon

?? Infrastructure as code: Terraform, CloudFormation or CDK.

bullet icon

Strong reliability habits: isolated tests, deterministic waits instead of sleeps, controlled retries, and triage of flaky tests.

bullet icon

Experience with test reporting and traceability (Playwright reports, Allure, Azure Test Plans, TestRail).

bullet icon

Clear communication and good documentation.

Nice to have

bullet icon

Trading or buy-side experience: OMS/EMS, algos, positions, allocations, or risk.

bullet icon

Java exposure, enough to read service code and contribute to backend suites in the shared framework.

bullet icon

Desktop container automation: Electron, OpenFin, or similar.

bullet icon

Component testing (Vitest or Jest). Storybook visual or interaction testing.

bullet icon

Accessibility and visual-regression testing.

bullet icon

React Profiler and familiarity with React rendering performance (memoization, virtualization).

bullet icon

OpenTelemetry or similar real-user-monitoring tools, and using production RUM data to pick performance test scenarios.

Other
seniority icon

Languages

English: B2 Upper Intermediate

seniority icon

Seniority

Senior

Remote Ukraine, Ukraine

Req. VR-125637

Python

BCM Industry

03/11/2026

Req. VR-125637

Apply for Senior Software Development Engineer in Test in Remote Ukraine

*Indicates a required field

Under the terms of your specific consent or to perform our obligations under a contract with you, as applicable, we, Luxoft Holding Inc. will manually and electronically process your personal data, specifically your first name, last name, phone number, e-mail address and other data you provide us through this form.


Within this context, we process personal data only for the specific purpose(s) indicated in the individual consent language or other notices provided below.


We will – insofar as reasonably necessary for the purpose you have agreed to and within the scope of applicable laws – transfer your personal data to other entities within the Luxoft Group and to the group of third party recipients listed in our Privacy Notice. Such Recipients can be located outside the European Union (EU) and/or the European Economic Area (EEA) (“Third Countries”). The Third Countries concerned, e.g. the USA, may not have the level of data protection that you enjoy e.g. under the GDPR. This can result in disadvantages such as an impeded enforcement of data subjects’ rights, a lack of control over further processing and access by state authorities. You may only have limited legal remedies against this. Insofar our transfer of your personal data to recipients in Third Countries is not covered by an adequacy decision of the EU Commission, we achieve an adequate level of data protection as further detailed out in our Privacy Notice.


With your consent, we personalise marketing communications to you by way of carrying out marketing research analysis, analysing the surfing-behaviour of our website visitors and to adjust it to their detected tendencies, as well as to plan more efficient future marketing activities. This personalised marketing does not include any automated decision-making activities.


Further information on how we process personal data in general is available in our Privacy Notice. You may withdraw any given consent at any time. The withdrawal of your consent(s) will not affect the lawfulness of processing before its withdrawal. For any request in this context, please e-mail us at: DPO@luxoft.com.


Before uploading CV or any other information to this website, to learn more about your obligations and restrictions arising from the use of this website, please read our Terms of Use.