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 hands-on QA Engineer to own manual testing and release quality.
This is deliberately a manual-first role. We already have a QA engineer who builds and owns our automated test suite, and right now he is buried in manual regression work instead of building it. You are the person who takes that work over. You own the release regression pass, you own exploratory testing of new features, and you own the bug reports that reach engineering.
Roughly 80% of this job is manual testing. The remaining 20% is working alongside our automation engineer: telling him what is worth automating based on what you keep testing by hand, and being able to read, run, and fix an existing Playwright test when one breaks. You are not expected to build the suite from scratch.
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.
Be clear on what we mean by manual testing here. We do not mean clicking through a checklist. We mean someone who opens the browser dev tools to see what the app is actually sending, who tests the same workflow as three different user roles across two customer accounts, who notices that a total says 260 while only 259 records are reachable, and who goes looking for the bug nobody wrote a test case for. The defects that hurt an enterprise CRM are permission and data-isolation defects, and they are invisible to anyone testing only what is on screen.
We also want someone with disciplined AI-assisted workflows. AI is a core part of how we work here, and we expect you to use it well: generating test cases from a spec, building test data, drafting bug reports, working through logs. It has to complement your judgment, not replace it. You need to be able to look at a generated set of test cases and see what is missing. This role involves direct contact with our Customer Success team and occasionally with customers, so clear spoken and written English is essential.
What You'll Do
- Own the manual regression pass before every release. Decide what it covers and keep it honest as the product grows.
- Design and maintain test cases for new features, working from product specs and Jira tickets.
- Do exploratory testing on complex, data-heavy workflows where scripted cases miss things.
- 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.
- Write bug reports with clear reproduction steps, expected versus actual behaviour, environment, and evidence. Verify fixes and close the loop.
- Reproduce escalated customer issues alongside Customer Success and convert them into clean, reproducible tickets for engineering.
- Feed the automation backlog: identify which repeated manual checks are worth turning into Playwright tests, and work with our automation engineer to get them written.
- Read, run, and debug existing Playwright tests when they fail, so a broken test does not block a release.
- Report on quality: what shipped, what we caught before release, and what escaped to production.
What We're Looking For
- 3+ years in a QA or software testing role on a web application.
- Strong manual testing fundamentals: test case design, boundary and negative testing, and genuine exploratory testing skill.
- Comfortable in browser dev tools. You use the network tab as a matter of course, not as a last resort.
- Experience testing APIs directly with Postman or a similar REST client, and confidence reading API documentation.
- Comfortable writing SQL to verify data directly in a relational database.
- Able to read TypeScript or JavaScript well enough to follow what a feature does and predict where it will break. You will not be writing production code.
- Some exposure to an automated E2E suite, in any framework. You should be able to run one, read a failure, and work out whether the test or the app is wrong.
- 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 Experience
We are looking for someone who goes beyond occasionally asking a chatbot for a test case. You should have hands-on experience with:
- Generating test cases and test data from a specification, then reviewing them critically rather than accepting them.
- Using AI to speed up investigation: working through logs, narrowing a reproduction, drafting a clear bug report.
- Knowing where AI gets testing wrong: coverage that looks broad and tests nothing, plausible cases that miss the real risk, and confident answers about behaviour it has not observed.
- Structured workflows rather than one-shot prompting.
You should be able to clearly explain the process you have developed, where AI helps you, where it misleads you, and how you verify what it gives you.
Nice to Have
- Experience writing Playwright tests, even if it is not your main skill.
- Experience testing multi-tenant SaaS with complex permission models.
- Experience testing third-party integrations: OAuth 2.0, webhooks, and bidirectional data sync.
- Experience with construction, AEC, CRM, or other domain-heavy enterprise software.
- Accessibility or performance testing experience.