Quality Assurance Developer
Location: HQ (Ottawa, ON)
Department: Product
Reports To: Senior Software Engineer / Engineering Manager
About CPOS
CPOS is focused on enabling small and micro businesses to take payments with ease — clean, simple products built around how small businesses actually operate. We move quickly, stay curious, and ship high-impact features that make payments smarter and simpler for the people who keep Main Street running.
The Role
We're looking for a Quality Assurance Developer who treats quality as something they own — not something they inspect at the end. You'll be the bastion of quality at CPOS: manually testing new features as they land, then automating those tests so we never have to manually validate the same feature twice, and so we stay safe from regressions forever.
You'll work hands-on across our React / TypeScript web app and our Flutter terminal app, validating the integrations that move real money and real customer data. This isn't a checklist role — we want someone who takes initiative, owns problems end-to-end, and works alongside developers and product to build quality into the process from day one.
What You'll Do
- Manually test new features across our React / TypeScript web app and Flutter terminal app before they ship.
- Build and maintain end-to-end automated test suites with Playwright (web) and Maestro (terminal/mobile).
- Wire tests into GitHub Actions so every pull request is gated by a meaningful regression suite.
- Validate critical integration flows with Stripe, Elavon, Amplitude, and HubSpot — making sure money moves, events fire, and customer data lands correctly.
- Partner with developers and product managers from the start of a feature, so quality is designed in rather than checked at the end.
- Investigate, reproduce, and own bugs end-to-end — from triage through fix verification.
- Identify gaps in test coverage and proactively close them.
- Document test plans, edge cases, and known-issue patterns to lift the team's overall quality bar.
Who You Are
- A self-starter who takes initiative and owns problems end-to-end — you don't wait to be told what to test.
- Genuinely care about quality — you spot the edge case nobody thought of and won't sign off until it's covered.
- Comfortable jumping between exploratory manual testing and writing solid, maintainable automation.
- A clear communicator who can advocate for quality with developers and product without becoming a blocker.
- Detail-oriented, methodical, and skeptical in the right ways.
Required Skills
- Hands-on experience writing automated tests with Playwright, Cypress, or a similar end-to-end framework.
- Comfort with TypeScript and JavaScript.
- Solid understanding of React apps from a testing perspective (selectors, async behaviour, state).
- Experience integrating tests into CI/CD pipelines (GitHub Actions, CircleCI, GitLab CI, etc.).
- Strong manual testing instincts — exploratory testing, writing clear repro steps, identifying edge cases.
- Strong communication skills — written and verbal.
Nice-to-Have
- Experience with Maestro or other mobile UI testing frameworks (Appium, Detox, etc.).
- Exposure to Flutter apps.
- Familiarity with payments integrations — Stripe, Elavon, or similar fintech providers.
- Experience testing analytics (Amplitude) or CRM (HubSpot) integrations.
- Background in performance, accessibility, or security testing.
Why You'll Love Working Here
- Real ownership — you're shaping how we ship, not babysitting a checklist.
- Opportunity to build out a QA practice and see your impact directly in production.
- A learning-driven culture where asking questions is encouraged.
- Modern tech stack (React, TypeScript, Flutter, Playwright, Maestro, GitHub Actions).
- Competitive compensation and growth opportunities in a rapidly scaling company.
Pay: $75,000.00-$95,000.00 per year
Benefits:
- Casual dress
- Employee stock purchase plan
- On-site parking
- Paid time off
Work Location: In person