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 Bulgaria, Bulgaria

specialization icon

Python

lob icon

BCM Industry

date icon

03/11/2026

Req. VR-125636

Apply
Project description

We build an in-house trading platform covering order management, execution, and data analysis. It runs on a distributed, event-driven backend.
We're hiring a hands-on SDET to own backend test automation: service, integration, contract, data, resilience and performance testing across the platform. You'll co-architect and co-own a unified testing framework with our UI SDET. It covers UI, API, messaging, data and performance tests in one place.

Responsibilities
bullet icon

Co-architect and co-own, with our UI 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 REST, WebSocket, Kafka, database, performance and UI suites.

bullet icon

?? Cross-layer scenarios: one scenario can follow a workflow from the UI through services and events to the database.

bullet icon

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

bullet icon

Design and build automated service, integration and contract tests for REST APIs, WebSocket services, and Kafka producers and consumers.

bullet icon

Test event-driven flows end to end: message ordering, idempotency, at-least-once and exactly-once semantics, replays, offset handling, dead-letter queues, and schema evolution (Avro, Protobuf, JSON Schema, Schema Registry).

bullet icon

Build harnesses with controlled test data and service virtualization so suites run consistently and can be repeated.

bullet icon

Design and build isolated, on-demand test environments on Linux and AWS:

bullet icon

?? Lifecycle: full service stacks (services, Kafka, databases) 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

?? Infrastructure: the environments are defined as code, with attention to cost.

bullet icon

Write data-validation tests across relational and analytical databases. Cover reconciliation and aggregation correctness.

bullet icon

Cover resilience and failure modes: broker and consumer outages, network partitions, timeouts, throttling, slow consumers and backpressure, reconnects, and authentication failures.

bullet icon

Own backend performance testing:

bullet icon

?? Latency and throughput: design and run load, stress, soak and spike tests on services, messaging pipelines, streaming and query APIs.

bullet icon

?? Baselines and regressions: set baselines and service-level targets (p50/p99 latency, throughput, consumer lag), and catch regressions in CI.

bullet icon

?? Bottlenecks: profile them down to the CPU, GC, query or network layer.

bullet icon

?? Database queries: track query performance on analytical stores. Know how query shape and data volume drive response time.

bullet icon

Own backend test execution in CI/CD: parallel runs, scheduled regressions, environment setup and teardown, and release quality gates.

bullet icon

Make failures diagnosable: structured logs, distributed traces (OpenTelemetry), correlation IDs across services, and clear reports.

bullet icon

Work with backend engineers, infrastructure, business analysts and traders to define and automate critical business workflows.

bullet icon

Use AI-assisted tools where they speed up writing tests and analysing failures.

Skills

Must have

bullet icon

5+ years of backend or service test automation, including framework design.

bullet icon

Strong Python (pytest, requests, asyncio, confluent-kafka or similar) for test frameworks, tooling and data validation.

bullet icon

Strong Java (JUnit 5, REST Assured, AssertJ, or similar) for testing JVM services.

bullet icon

Working TypeScript and Node.js skills: contributing to UI and cross-layer suites in the shared framework, and Node-based tooling (k6 scripts, Playwright API tests).

bullet icon

Hands-on Kafka experience: producing and consuming in tests, consumer groups, partitions and offsets, serialization and schema registry, and Kafka Streams or Connect.

bullet icon

Solid networking fundamentals: TCP/IP, HTTP/1.1 and HTTP/2, WebSockets, TLS, DNS, load balancers, latency and packet loss. Able to debug with tcpdump/Wireshark, curl and similar tools.

bullet icon

Strong SQL and database experience (PostgreSQL, SQL Server, or similar) for test data setup, verification and cleanup. Familiarity with columnar or analytical databases.

bullet icon

Hands-on performance and load testing:

bullet icon

?? Tools: k6, Gatling, JMeter or Locust, including Kafka throughput benchmarking.

bullet icon

?? Profiling: JVM tuning and profiling (GC, JFR, async-profiler) or Python profiling.

bullet icon

?? Analysis: reading latency distributions and percentiles correctly, including coordinated omission.

bullet icon

API, authentication and contract testing: OAuth/JWT flows, payload and schema validation, and service virtualization (WireMock, MockServer, Hoverfly).

bullet icon

Experience building isolated test environments:

bullet icon

?? Linux: strong command-line skills, with shell scripting, systemd, processes, networking and performance troubleshooting.

bullet icon

?? Containers: Docker, Docker Compose and Testcontainers.

bullet icon

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

bullet icon

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

bullet icon

CI/CD with Azure DevOps or Jenkins, and Git.

bullet icon

Strong reliability habits: isolated tests, controlled retries, failure-mode testing, and triage of flaky tests.

bullet icon

Clear communication and good documentation.

Nice to have

bullet icon

Trading or buy-side experience: OMS/EMS, the FIX protocol, market data, positions, allocations, or risk.

bullet icon

kdb+/q, or other time-series databases used for tick data.

bullet icon

Contract testing with Pact. Property-based testing (jqwik, Hypothesis).

bullet icon

Kubernetes and Helm.

bullet icon

Chaos and fault-injection tools (Toxiproxy, Chaos Mesh).

bullet icon

Observability tools: OpenTelemetry, Grafana, Prometheus.

bullet icon

Experience with large-scale distributed systems.

Other
seniority icon

Languages

English: B2 Upper Intermediate

seniority icon

Seniority

Senior

Remote Bulgaria, Bulgaria

Req. VR-125636

Python

BCM Industry

03/11/2026

Req. VR-125636

Apply for Senior Software Development Engineer in Test in Remote Bulgaria

*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.