Software Development Engineer In Test

Amazon.com, Inc.
Westminster, CO, United States
1 day ago
Apply on www.careerjet.com
Prepare application

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Experience level
Expert
Experience required
3 years minimum
Compensation
$105,000.0 - $154,000.0
Working hours
Regular working hours

Tech stack

JavaScript (Programming Language) Application Programming Interfaces (APIs) Artificial Intelligence Amazon Web Services Amazon S3 Application Integration Architecture Business Logic Automation of Tests Spreadsheets Software as a Service Cloud Computing Code Coverage
+51 more
Databases Continuous Integration Data Validation Data Integrity Relational Databases Database Connection Dependency Injection Fault Tolerance PostgreSQL Load Testing Queueing Systems RabbitMQ Software Reliability Testing E2e Testing Mockito Smoke Testing Software Engineering Systems Integration Test Execution Engine Strategies of Testing TypeScript User Interface Testing Performance Testing ReactJS Large Language Models Cypress (Programming Language) Caching Parallel Computation Backend Data Layers Event Driven Architecture Amazon Relational Database Service Integration Tests Playwright Tenable Nessus AWS Fargate Bitbucket Data Management Front End Software Development Functional Programming Cloudwatch NestJS JestJS Restful APIs Mocha Api Management Pagerduty SDET Static Application Security Testing Web Api Microservices

Job description

We’re looking for an SDET to build and own the quality engineering practice for a cloud-based B2B SaaS platform that automates U.S. government procurement workflows using AI. The platform ingests solicitations, processes documents with LLMs, automates supplier communications, generates predictions, and produces bid-response documents, each of these workflows has real business consequences when something breaks. This is not just a manual QA role. You’ll write code every day, building test frameworks, automating regression suites, hardening CI pipelines, and creating tooling that makes the entire engineering team ship with confidence. You’ll be the person who defines what “tested” means for this product and builds the infrastructure to enforce it. The platform operates under SOC 2 controls for security, availability, and confidentiality. Test coverage isn’t optional, it’s part of how we demonstrate that changes are controlled and verified before they reach production. What You’ll Work On Test Strategy & Framework

  • Designing and implementing a comprehensive test strategy across a multi-service architecture , defining the right mix of unit, integration, contract, and end-to-end tests for each service boundary
  • Building and maintaining test frameworks in TypeScript (Jest) and potentially Go as the platform evolves , including shared test utilities, fixtures, factories, and assertion helpers
  • Establishing test data management patterns, database seeding, tenant-scoped test isolation, deterministic fixture generation, and teardown strategies that allow parallel test execution
  • Defining and enforcing coverage standards, not vanity metrics, but meaningful coverage of critical business logic, data integrity paths, and failure modes

API & Integration Testing

  • Building automated API test suites for a NestJS backend with 50+ modules, validating request/response contracts, authorization boundaries, tenant isolation, error handling, and pagination behavior
  • Testing multi-tenant data isolation rigorously, verifying that row-level security policies, tenant-scoped queries, and cross-tenant access controls work correctly under every code path
  • Writing integration tests for async workflows that span multiple services via message queues, verifying that jobs enqueued by the API are correctly processed by downstream workers and results are persisted accurately
  • Testing LLM-dependent workflows, designing strategies to test AI-powered extraction, prediction, and generation pipelines where outputs are non-deterministic. This includes building mock/stub LLM responses, validating output schema compliance, and testing graceful degradation when LLM calls fail or return unexpected formats
  • Testing email integration workflows, verifying that inbound email parsing, attachment extraction, outbound RFQ dispatch, and response parsing produce correct results across providers (Gmail, Microsoft Graph)

Database & Data Integrity Testing

  • Writing tests that validate schema migrations, verifying that migrations apply cleanly, preserve existing data, and that rollbacks work when needed
  • Testing row-level security policies directly, asserting that queries executed with one tenant’s context cannot access another tenant’s data, including edge cases around shared resources and cross-tenant relationships
  • Validating data consistency across async pipelines, when a bid is ingested, items extracted, prices resolved, and proposals generated across multiple services, the final database state must be correct and complete
  • Testing materialized view refresh behavior and ensuring reporting/dashboard queries return accurate results after data mutations

CI/CD Integration & Quality Gates

  • Integrating test suites into CI/CD pipelines as blocking quality gates, tests must pass before code can be promoted from develop to staging to production
  • Optimizing test execution time, parallelization, selective test running based on changed files, caching strategies, and identifying flaky tests for quarantine and repair
  • Building smoke test and health-check suites that run post-deployment to verify that production services are functioning correctly after each release
  • Integrating with existing CI scanning tools (SAST, dependency scanning, IaC scanning) and ensuring test results are visible and actionable in the deployment workflow

E2E & UI Testing

  • Building end-to-end test suites for critical user workflows in the React frontend , bid ingestion, item management, email automation configuration, proposal generation, and prediction review
  • Implementing browser-based testing using Playwright or Cypress, with stable selectors, retry strategies, and clean environment setup/teardown
  • Testing document generation outputs (DOCX, XLSX, CSV, PDF) , verifying that template placeholder substitution produces correct documents with accurate data, proper formatting, and no corruption

Performance & Reliability Testing

  • Identifying and testing performance-critical paths , large bid list queries, bulk item extraction jobs, concurrent LLM processing, and high-volume email ingestion
  • Building load and stress test scenarios for API endpoints and async job processing pipelines to validate system behavior under sustained throughput and burst conditions
  • Testing failure modes and resilience , message queue unavailability, LLM provider timeouts, database connection exhaustion, and S3 access failures. Verifying that the system degrades gracefully and recovers correctly, TypeScript (primary), Go (emerging) Test Framework Jest (current), Playwright or Cypress (E2E) Backend NestJS, Prisma ORM, PostgreSQL Frontend React Messaging RabbitMQ (Amazon MQ) AI / ML OpenAI, Anthropic, xAI (LLM integrations) CI/CD Bitbucket Pipelines (SAST, dependency scanning, IaC scanning) Cloud AWS (ECS Fargate, S3, RDS, Lambda) Monitoring CloudWatch, PagerDuty Compliance SOC 2 (Security, Availability, Confidentiality) What You Won’t Find Here

  • A manual QA role. You’ll write code, build frameworks, and automate. If you primarily work in spreadsheets and test management tools, this isn’t the right fit.
  • A mature test infrastructure waiting for you to maintain. You’ll be building much of this from the ground up , defining the strategy, choosing the tools, and establishing the culture. That’s the opportunity.
  • A siloed quality team. You’ll work directly alongside engineers, review their code, and embed quality practices into the development workflow rather than gating it at the end.
  • Predictable, deterministic-only outputs. A significant part of the platform uses LLMs, which means you’ll develop novel testing approaches for non-deterministic systems. If that sounds interesting rather than frustrating, we should talk.

Requirements

  • 3+ years of experience in a software engineering or SDET role where you wrote test automation code daily, not just test plans
  • Strong TypeScript or JavaScript skills , you’ll be writing test code, fixtures, mocks, and utilities in the same language as the application
  • Deep experience with a modern test framework (Jest, Vitest, Mocha, or equivalent) including test lifecycle hooks, mocking/stubbing, snapshot testing, and custom matchers
  • Experience testing REST APIs programmatically , building request factories, validating response schemas, testing auth/authz boundaries, and asserting error handling behavior
  • Strong understanding of relational databases and SQL , you need to verify data integrity directly, write setup/teardown queries, and validate that application behavior produces correct database state
  • Experience writing integration tests that interact with real databases (not just mocks) , managing test transactions, tenant-scoped test isolation, and deterministic seeding
  • Familiarity with CI/CD pipelines and how automated tests integrate as quality gates , you’ve configured test jobs, managed test environments, and triaged pipeline failures
  • Understanding of async/event-driven architectures , you’ve tested systems where work is dispatched via queues and results arrive asynchronously, and you know the patterns for making those tests reliable
  • Comfort reading and understanding production application code , you’ll need to trace logic through controllers, services, and data layers to understand what to test and where the risk lives
  • Clear communication skills , you’ll define quality standards, explain test failures to developers, and advocate for testing investment to leadership

Preferred

  • Experience testing LLM/AI-integrated applications , mocking non-deterministic responses, validating structured output parsing, testing prompt/response contracts, and measuring extraction accuracy
  • Experience with Playwright or Cypress for browser-based E2E testing, including managing test environments, handling auth flows, and maintaining stable test suites against a changing UI
  • Familiarity with NestJS or similar DI-based backend frameworks , understanding how to leverage dependency injection for test doubles and module-scoped test isolation
  • Experience testing multi-tenant SaaS applications , validating tenant isolation, cross-tenant access controls, and data scoping under concurrent usage
  • Familiarity with Prisma ORM or similar , writing test utilities that seed, query, and clean up data through the same ORM the application uses
  • Experience with contract testing (Pact or similar) for validating API contracts between independently deployed services
  • Exposure to performance testing tools (k6, Artillery, Locust, or similar) for API and job pipeline load testing
  • Experience validating document outputs (DOCX, XLSX, PDF) programmatically , parsing generated files and asserting content correctness
  • Background in a compliance-regulated environment (SOC 2, ISO 27001, FedRAMP) where test evidence is part of the audit story
  • Experience with Go testing patterns (if you’ll also cover new Go microservices as the platform evolves)

Benefits & conditions

  • $107,900-195,050 per year

Apply for this position

This job is hosted externally. Click below to view the full posting and apply.

Apply on www.careerjet.com
Prepare application

Good distractions

Talks and stories from around this role — technically off-topic, practically not.

2:44 min

Formatting unit tests with Mocha and Chai

Sascha Depold +1 · World Congress 2021

2:04 min

Comparing flexible tools against opinionated NestJS frameworks

Matteo Collina Matteo Collina · JS Congress

3:01 min

Exploring the expansion of end-to-end testing utility suites

Daniel Afonso Daniel Afonso · World Congress 2025

5:27 min

Testing contracts with JavaScript frameworks

Liu Xiaohui · LIVE

4:29 min

Evaluating applications through specialized testing strategies

Alexandre Borges · World Congress 2023

2:51 min

Full stack architecture for server-sent events using Next.js

Ahmed Megahd Ahmed Megahd · World Congress 2025

Videos

See all

Related articles

See all