Back to Jobs
Recently postedTechnology

Senior SDET Backend & Data

Ztek ConsultingNew York, NY🇺🇸United States

Quick overview

SeniorityMid Senior
Work modeHybrid
LocationNew York, NY, United States
DockerSQLShellGitAWSOAuthTCP/IPCDKCloudFormationDNSGatlingGrafanaHTTPHelmJMeterJUnitJWTJavaJenkinsKafkaPlaywrightPrometheusPythonTerraformWebSocketk6pytestRESTAzureNode.jsPostgreSQLKubernetesTypeScriptSQL ServerData AnalysisCI/CDLinuxAzure DevOpsIAM

Job description

Job Title: Senior SDET — Backend & Data

Location: New York City, NY

Type of hire: Contract or Full time

Job Description :

Role Overview

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

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

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

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

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

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

•             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).

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

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

            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.

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

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

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

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

•             Own backend performance testing:

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

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

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

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

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

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

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

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

Qualifications

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

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

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

•             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).

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

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

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

•             Hands-on performance and load testing:

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

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

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

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

•             Experience building isolated test environments:

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

            Containers: Docker, Docker Compose and Testcontainers.

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

            Infrastructure as code: Terraform, CloudFormation or CDK.

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

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

•             Clear communication and good documentation.

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

Nice to have

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

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

•             Kubernetes and Helm.

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

•             Observability tools: OpenTelemetry, Grafana, Prometheus.

•             Experience with large-scale distributed systems.

Similar jobs