> Markdown version of [/jobs/ext/3762022-software-engineer](https://www.wearedevelopers.com/jobs/ext/3762022-software-engineer). Every page supports `.md` or `Accept: text/markdown`. Links point to the HTML versions so they work for humans too. Agent guide: [/agents.md](https://www.wearedevelopers.com/agents.md). --- # Software Engineer - **Company:** SCOTCH, INC. - **Location:** United States (Remote available) - **Experience:** Expert - **Salary:** $160,000.0 - $170,000.0 - **Contract:** Permanent contract - **Skills:** Java (Programming Language), Adobe InDesign, Application Programming Interfaces (APIs), Artificial Intelligence, Automation of Tests, Data Integrity, Cursor, Firmware, Python (Programming Language), Ruby, Software Engineering, Systems Integration, TypeScript, Web Application Frameworks, Capybara, Rspec, Appium, Claude Code, Grafana, Cypress (Programming Language), Peripherals, Kotlin, Bug Reporting, Playwright, Sentry, Software Coding - **Published:** October 15, 2026 - **Apply:** https://www.builtincolorado.com/auth/login?destination=/job/software-engineer/11680453 ## About the Role * 6+ years in QA or software engineering in test, including 2+ years as the senior or lead quality owner for a shipping product. * A track record of building test automation from scratch, not just maintaining someone else's suite. * Strong coding skills in Kotlin, Java, Ruby, TypeScript, or Python. You write test code that engineers are happy to review. * Hands-on experience with modern frameworks (Espresso, Maestro, Appium, Playwright, Cypress, or similar) and running them in CI. * Experience testing APIs, data integrity, and integrations between systems. * Sound judgment about risk: you know when a bug should block a release and when it shouldn't, and you can explain why. * Clear writing for different audiences, from bug reports engineers can act on to release notes the support team can use. Nice to Haves * POS, retail, or payments experience, including card-present testing, processor certification, or PCI-aware testing practices. * Experience with device fleet management, MDM, various product release processes a plus * Experience with hardware peripherals such as card readers, barcode scanners, receipt printers, and cash drawers. * Experience with Rails test tooling (RSpec, Capybara) or contract testing (Pact). * Familiarity with feature flags (LaunchDarkly) and staged rollouts. * Experience with release-health and observability tools such as Crashlytics, PostHog, or Sentry. * Fluency with AI coding and testing tools, such as Claude Code, Cursor, or AI-assisted test generation or other vendor tools / frameworks ## Description Own QA strategy and release quality for POS, back-office, and payments products. Build automated unit, integration, API, contract, and end-to-end tests; integrate testing into GitHub Actions; validate hardware, offline modes, payment flows, and upgrades; establish release gates and test environments; monitor quality metrics; reproduce merchant issues; and coach engineers on testable design and quality practices., * Own the QA strategy for the POS app, back office, and payments, deciding what gets automated, what gets tested by hand, and what blocks a release. * Build and maintain automated test suites across layers: unit and integration coverage alongside engineers, E2E tests for the back office (Playwright or similar), and API and contract tests between the POS and back office. * Wire tests into CI (GitHub Actions) so every pull request and release candidate gets fast, reliable feedback, and keep flaky tests at near zero. * Turn our release process into evidence-based gates: regression results per build, upgrade testing from older app versions, staged rollouts by ring, and clear go/no-go criteria for hotfixes. * Test on real hardware in real conditions: Elo terminals across Android and firmware versions, card readers, scanners, printers, offline mode, flaky networks, and long-running overnight soak tests. * Drive payments quality, including processor certification test runs, refund and split-tender edge cases, and failure modes like reader disconnects and processor outages. * Build test data and environments: seeded merchant data, isolated per-branch environments, and emulators so anyone can reproduce a merchant's setup in minutes. * Use AI tools to move faster, from generating test cases and test code to triaging crash logs and support tickets. * Partner with support to shorten the path from a merchant report to a reproducible bug, with the register, app version, and transaction details attached. * Track quality with a few clear metrics, such as escaped defects, crash-free sessions, release-health by version, and time from merge to store, and report on them plainly. * Raise the quality bar across engineering: review test plans in design, coach engineers on writing testable code, and make quality everyone's job.