About ProjectMark
ProjectMark is an all-in-one CRM and proposal platform built specifically for the construction industry. We give construction companies the tools they need to manage relationships, streamline their sales process, and win more work.
We are a fast-moving team looking for smart, ambitious, accountable people who care deeply about building great software and delivering an exceptional customer experience.
The Role
We are looking for a QA Engineer who owns quality end to end: hands-on manual testing of new features and releases, plus building and maintaining an automated end-to-end test suite in Playwright.
Roughly 60% of this job is manual. Reading specs, designing test cases, exploratory testing, running regression passes before release, and writing bug reports an engineer can act on without needing a follow-up conversation. The other 40% is automation. You take the regression cases you keep running by hand and turn them into Playwright tests that run in CI, so the manual pass gets shorter every quarter instead of longer.
ProjectMark is a multi-tenant B2B platform used by enterprise architecture, engineering, and construction firms. Testing it properly means understanding permissions, tenant isolation, data-heavy workflows, and integrations with Microsoft 365, Google Workspace, and construction ERPs. We want someone curious about how the product actually works, not just whether the button responds.
We also want someone with disciplined AI-assisted workflows. AI is a core part of how we build and test here, and we expect you to use it well. AI proficiency must complement, not replace, strong testing fundamentals. You must be able to design a test strategy yourself, judge whether AI-generated test code is actually testing anything, and spot the gaps an agent will confidently miss.
This role involves some direct contact with our Customer Success team and occasionally with customers, so clear spoken and written English is essential.
What you'll do
- Design and maintain test plans and test cases for new features, working from product specs and Jira tickets.
- Run manual regression passes ahead of each release, and systematically shrink them by automating what repeats.
- Do exploratory testing on complex, data-heavy workflows where scripted cases miss things.
- Build and maintain end-to-end tests in Playwright against a Vue 3 and Node.js application.
- Keep the E2E suite fast, stable, and trusted. Flaky tests get fixed, not retried.
- Write bug reports with clear reproduction steps, expected versus actual behaviour, environment, and evidence. Verify fixes and close the loop.
- Test across user roles, permission levels, and tenants, including negative and boundary cases.
- Test integration behaviour: OAuth connections, webhook delivery, bidirectional sync, partial failures, and retries.
- Reproduce escalated customer issues alongside Customer Success and convert them into clean, reproducible tickets for engineering.
- Report on quality: what shipped, what we caught before release, and what escaped to production.
- Use AI agents and editors to expand coverage and maintain test code faster, while reviewing everything they produce critically.
What we're looking for
- 4+ years in a QA, SDET, or software testing role on a web application.
- Strong manual testing fundamentals: test case design, boundary and negative testing, and genuine exploratory testing skill.
- Hands-on experience building end-to-end tests with Playwright. Strong Cypress or Selenium experience is fine if you are ready to move to Playwright.
- Comfortable reading TypeScript/JavaScript well enough to understand what a feature does and predict where it will break. You will not be writing production features.
- Comfortable writing SQL to verify data directly in a relational database.
- Experience with API testing using Postman or a similar REST client, and confidence reading API documentation.
- Experience running tests in CI, ideally GitHub Actions.
- Comfortable with Git and a PR-based workflow.
- Excellent written English. Your bug reports need to be specific, concise, and unambiguous.
- Excellent spoken English and the confidence to push back when something is not ready to ship.
- Self-directed. You will be the person who decides what gets tested and how deeply, not someone waiting for a list.
AI engineering experience
We are specifically looking for someone who goes beyond occasionally asking a chatbot for a test case. You should have hands-on experience with:
- AI coding agents and editors such as Cursor, Claude Code, Codex, or Windsurf, used to write and maintain real test code.
- Generating test cases and test data from specifications, then reviewing them critically rather than accepting them.
- Knowing where AI-generated tests fail: brittle selectors, assertions that can never fail, coverage that looks broad and tests nothing, and false confidence in a green suite.
- Structured planning, implementation, and verification workflows rather than one-shot prompting.
- You should be able to clearly explain the process you have developed for testing software with AI, where the agents help, where they mislead you, and how you verify their output.