Full Job Description
We are looking for a QA Engineer who treats manual testing as a temporary condition. You will own quality across the internal platforms our security researchers depend on and the client-facing products that deliver our findings - and you will build the automation, tooling, and AI-assisted workflows that make that coverage possible without a headcount-shaped bottleneck. If your instinct when you see a repetitive process is to write the thing that replaces it, you will fit here.
Responsibilities
• Own the test strategy for Halborn's internal engineering platforms and client-facing products, from unit and integration coverage through end-to-end and regression suites.
• Design, build and maintain automated test suites in code - UI, API, and data-layer - and keep them fast, deterministic, and trusted by the engineers who depend on them.
• Use LLM-assisted tooling to accelerate test authoring, generate edge cases from specs and diffs, triage failing runs, and summarize regressions for the team.
• Build and tune quality gates in CI/CD so that broken builds never reach a client environment, and so that the feedback loop stays measured in minutes.
• Identify manual QA processes and automate them out of existence - release checklists, environment setup, test data generation, smoke verification, reporting.
• Reproduce, isolate, and file defects with unambiguous repro steps, expected versus actual behavior, and enough context for an engineer to fix it without a follow-up conversation.
• Partner with security engineers to fold security regression checks - authentication, authorization, input handling, secrets exposure - into the standard pipeline.
• Run performance, load, and reliability testing against services handling sensitive audit and engagement data.
• Define and report the quality metrics that matter: escaped defect rate, flake rate, coverage of critical paths, and time to detection.
• Contribute to release readiness decisions and act as an informed voice on whether something ships.
Qualifications
• 3 to 5 years in QA engineering, SDET, or test automation, with a demonstrated shift from manual execution toward automated coverage.
• Strong programming ability in at least one of TypeScript, JavaScript, or Python - you write test code that other engineers are willing to read and maintain.
• Hands-on experience with modern automation frameworks such as Playwright, Cypress, Selenium, pytest, or equivalent.
• Practical API testing experience, including contract, integration, and negative-path testing against REST or GraphQL services.
• Working knowledge of CI/CD systems (GitHub Actions, GitLab CI, Jenkins, or similar) and comfort owning pipeline configuration yourself.
• Daily, deliberate use of AI coding assistants and LLM tooling in your own workflow, with a clear point of view on where they help and where they must be verified.
• Comfort with Git, containerized local environments, and reading application code to understand what you are testing rather than testing blind.
• Excellent written communication - in a distributed, asynchronous team, a well-written bug report or test plan is the deliverable.
• High autonomy and strong self-direction in a fast-moving environment where priorities shift.
• Willingness to learn the technical aspects of blockchain, smart contracts, and cybersecurity.
Bonus Points
• Experience testing Web3 applications - wallet flows, testnets, RPC interactions, or smart contract tooling such as Foundry or Hardhat.
• Experience building evaluation harnesses for LLM-powered features, including regression testing of non-deterministic output.
• Background in security testing, OWASP methodology, or hands-on time with tools like Burp Suite.
• Performance and load testing with k6, Locust, JMeter, or similar.
• Experience with observability tooling and using production telemetry to find gaps in test coverage.
• Open source contributions to testing frameworks or developer tooling.
• Knowledgeable of the latest trends in Blockchain and DeFi.