Job Description
Are you passionate about solving problems and delivering next-generation software to enhance the Internet experience? Join a global leader creating software for broadband service providers. We have been growing since 1992 and now work with some of the top service providers worldwide to deliver solutions that are innovative, creative, and make life easier for millions of subscribers.
We are seeking a QA Software Engineer in British Columbia or Ontario, Canada who thrives in a fast-paced global team environment.
In this role, you will take ownership of quality across complex, distributed systems. This role goes beyond test execution — you will shape test strategy, drive automation maturity, and serve as a quality advocate across multiple engineering teams. You will work directly with our data, ML, and platform engineering squads to validate systems that handle high-throughput event streaming, workflow orchestration, observability pipelines, and ML inference at scale.
This is an ideal opportunity for a quality-minded engineer who has solid automation fundamentals and wants to grow into end-to-end ownership of CI/CD quality gates, performance benchmarking, and cross-functional test leadership.
This is a fully remote role, with the candidate working out of their home office in BC or ON, Canada. The salary range for this position is $65-$78,000 CAD
Test Automation & Engineering
- Design, implement, and own automated test suites using JUnit and Playwright, across API, UI, and integration layers.
- Architect reusable, maintainable test frameworks that scale across multiple services and repositories.
- Lead continuous refactoring of test code to improve coverage, reliability, and execution speed.
- Collaborate with developers during design and code review phases to embed quality earlier in the development cycle.
- Define test coverage standards and gap analyses for new features and architectural changes.
- Mentor junior QA engineers on test design patterns, tooling, and best practices.
CI/CD Pipeline Integration
- Own and maintain QA stages within CI/CD pipelines (Jenkins, GitHub Actions, or equivalent).
- Design quality gates that enforce test pass rates, coverage thresholds, and static analysis requirements before merges and deployments.
- Integrate automated test suites into build pipelines across multiple environments (dev, staging, production-mirror).
- Implement parallel and distributed test execution strategies to minimize pipeline latency.
- Monitor build health, triaging flaky tests, and driving resolutions to maintain pipeline integrity.
- Collaborate with DevOps and platform teams to improve deployment confidence and rollback safety.
Performance & Load Testing
- Design and execute performance, load, and stress tests for distributed systems, APIs, and data pipelines.
- Instrument performance test environments using containerized infrastructure for reproducibility across environments.
- Define and track SLIs/SLOs (latency, throughput, error rate) and validate systems against them under realistic load conditions.
- Build and maintain Grafana dashboards to visualize performance test results, resource utilization, and trend analysis over time.
- Test Kafka consumer/producer throughput, partition lag, and failure recovery behaviours under simulated load.
- Profile and identify bottlenecks in workflow orchestration pipelines (e.g., Airflow, Prefect, or Argo Workflows), providing data-driven optimization recommendations.
- Ensure performance test suites are integrated into CI/CD pipelines and execute on a scheduled or per-release basis.
UI & End-to-End Testing
- Build and maintain robust UI test suites using Playwright, covering critical user workflows and regression scenarios.
- Implement cross-browser and cross-platform UI test strategies, running tests within Dockerized environments.
- Design visual regression tests to catch unintended UI changes across releases.
- Integrate E2E UI tests into CI pipelines with appropriate environment staging and teardown logic.
- Collaborate with frontend and product teams to define acceptance criteria and translate them into automated scenarios.
Distributed Systems, Data & ML Validation
- Develop test strategies for event-driven architectures built on Kafka, validating message ordering, delivery guarantees, and schema contracts.
- Test data integrity across heterogeneous storage systems including MongoDB, ClickhouseDB, and streaming stores.
- Design and execute validation frameworks for ML model outputs, evaluating accuracy, consistency, drift detection, and edge-case behaviour across diverse data types and sources.
- Build observability into test pipelines — emit structured metrics and logs that integrate with Grafana and alerting systems.
- Validate networking behaviour and protocol compliance (TCP/IP, TR-069, SNMP) for broadband and CPE device management features.
Test Infrastructure & Environment Management
- Build and maintain Docker images for test environments, encapsulating dependencies, browsers, and test tooling.
- Manage Ansible playbooks and roles for provisioning repeatable test environments at scale.
- Contribute to cloud-based (AWS, GCP) test infrastructure, including ephemeral environments for isolated test runs.
- Own test environment reliability — proactively identify and resolve environment-caused failures versus product defects.
What You Bring
Required
- 3–5 years of hands-on software quality engineering experience in a professional software development environment.
- Strong Java programming skills, including object-oriented design, concurrency, and debugging in Linux/Unix environments.
- Proficiency in Python for test scripting, data validation, tooling, and automation workflows.
- Demonstrated experience owning automated test suites with JUnit, Playwright, or equivalent frameworks.
- Experience integrating automated tests into CI/CD pipelines (Jenkins, GitHub Actions, GitLab CI, or similar).
- Experience with Docker — building images, managing containers, and running tests in containerized environments.
- Solid understanding of TCP/IP networking, distributed systems concepts, and multi-tiered application architectures.
- Experience designing and executing performance or load tests and analyzing results (latency, throughput, resource utilization).
- Experience with UI/E2E testing methodologies and tooling.
- Experience working with NoSQL or columnar databases (MongoDB, ClickhouseDB, or similar).
- Strong analytical thinking — able to decompose complex systems into testable components and articulate risk clearly.
- Excellent communication skills in English (written and verbal); able to document test strategies and communicate findings to both technical and non-technical audiences.
- Ability to work autonomously, prioritize across competing demands, and proactively unblock others.
Preferred / Nice to Have
- Experience testing event-driven or streaming systems, particularly Apache Kafka (consumer/producer behavior, partition lag, schema registry).
- Familiarity with workflow orchestration platforms such as Apache Airflow, Prefect, or Argo Workflows.
- Experience building or querying Grafana dashboards for performance monitoring and observability.
- Hands-on experience validating ML/AI model outputs — accuracy evaluation, data drift detection, edge-case testing.
- Experience with Ansible for configuration management and environment provisioning.
- Cloud platform experience (AWS, GCP) including ephemeral environments, object storage, and managed services.
- Experience in the telecommunications or broadband provider industry.
- Familiarity with test methodologies for Big Data applications.
- Experience with shell scripting for environment setup, data seeding, or test orchestration.
- Knowledge of network hardware: routers, switches, and Layer 2/3 protocols.