QA Engineer
Save this job and keep your search organized
Create a free account to save jobs, create alerts and return to this listing from your dashboard.
By continuing, you agree to our Terms & Privacy Policy.
QA Engineer
Start Date: As soon as possible, but open to discussion
Type: Full-time
Reports to Head of Engineering
Compensation: $95,000-$105,000
About Us
de Anda Capital is an independent sponsor and family office with over 140 deals and over 3 billion USD in investor value creation. We are based in Los Angeles, California and New York City, New York. Our main office is located in New York City.
We acquire, operate and consolidate businesses in property management and real estate services. We work across several verticals, including property management, payroll and payments, decarbonization, manufacturing, and lending and financing.
About the Role
de Anda Capital is hiring a QA Engineer for one of our portfolio companies in the fintech space. The company is a multi-tenant time-and-attendance platform sold alongside payroll providers.
Payroll partners trust what we deliver. A wrong meal-break deduction or a punch leaking across tenants is a customer-facing payroll error. Our automated coverage is strongest in the calculation engine; you will extend it to the edges. You will own the quality of the hours path from punch to delivered export — in code, inside the monorepo, as part of the same spec-driven workflow the engineers use.
Technology stack
- Frontend: TypeScript, React 18, Vite, Apollo Client with GraphQL Codegen, Tailwind and shadcn/ui, react-intl, Storybook, Jest and Testing Library, in an NX monorepo with enforced module boundaries.
- Backend: Python 3.11, Django 5, Graphene (GraphQL), PostgreSQL, Redis, Celery with Beat, Django Channels for real-time subscriptions. Domain apps cover punch pipeline, calculation, timecards, scheduling, time off, configuration, reports, multitenancy, users and auth, notifications, and integrations. Tested with pytest, factory-boy, and friends.
- Cloud: AWS provisioned with Terraform — ECS Fargate (API, Celery worker, Beat), RDS PostgreSQL, ElastiCache, ALB with blue/green deploys, S3 and CloudFront for the SPA, Secrets Manager, CloudWatch. Serverless Framework Lambdas for scheduled tasks and WebSockets. GitHub Actions for CI and deploys; Docker Compose locally; Sentry for errors.
- Dev environment is live; production infrastructure is in progress. Both hires will help take it the rest of the way.
How we build
We practice Specification Driven Development with AI coding agents doing much of the first-draft implementation. The spec is the unit of work; code is its output, and humans own correctness.
- PRD. Product and engineering write and refine a Product Requirements Document with explicit acceptance criteria.
- Technical Documents. The PRD is decomposed into smaller Technical Documents: schema and service design, data model changes, UI contracts, test expectations, and the repo patterns to follow.
- Agent-driven implementation. Each Technical Document drives a coding agent (Cursor with Claude models) working against the repos AGENTS.md conventions to produce a PR.
- Human review. An engineer reviews every agent-authored PR against the Technical Document and acceptance criteria before merge. Tenant isolation, concurrency, timezone handling, and test quality are checked by a person, not assumed.
- Verification. The SDET lands acceptance-criteria-mapped tests in the same milestone; nothing is done until the tests say so.
Engineers here spend more time specifying, reviewing, and hardening than typing boilerplate. Strong candidates are good at writing precise specs, directing agents, and spotting what an agent got plausibly wrong.
What you will test in
- Three apps on one React/TypeScript codebase: tenant time app, support portal (separate auth, 2FA, OTP), kiosk (PIN). Roles from employee through owner plus internal support tiers; everything tenant-scoped.
- GraphQL API (Django + Graphene) over PostgreSQL and Redis; Celery for async calculation, notifications, and reports; Channels for real-time updates.
- Existing tooling: pytest with factory-boy, pytest-freezer, and xdist; Jest and Testing Library with Apollo MockedProvider; Storybook; deterministic demo-data seeding; Sentry and CloudWatch; GitHub Actions dev deploy with smoke tests.
What you will do
- Convert PRD accept