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 looking for a QA Software Engineer in British Columbia. This role is ideal for those who have a passion for a career in quality assurance within the high-tech industry.
As a QA Software Engineer, you will build on your current expertise by demonstrating core competencies as a bright and hardworking individual who thrives on challenges in developing new and contributing to existing test methodologies in our Engineering Department. Projects include the creation of automated tests, focused on JUnit and Selenium development with the goal of contributing to sets of fully automated tests in the field of networking and distributed computing while working on some of the newest Java technologies. Some testing requires creative approaches to find fast and effective testing solutions, determining the necessary environment and code supported automation.
Role and Responsibilities:
- Design, implement, and maintain automated test suites using JUnit, Playwright and Selenium.
- Continuously refactor and optimize test code to improve readability, execution speed, and coverage.
- Collaborate with developers to identify test gaps and add coverage for new features and bug fixes.
- Monitor test execution results, analyse failures, and provide actionable feedback to development teams.
- Design and execute performance tests using containerized environments.
- Collect and analyze performance metrics (response times, throughput, resource utilization).
- Identify bottlenecks and provide recommendations for optimization.
- Ensure performance tests are repeatable and scalable across environments.
- Containerize test frameworks to ensure reproducibility and portability.
- Build and maintain Docker images for test environments, including dependencies and browsers.
- Optimize container usage for performance testing scenarios.
- Standardize Ansible playbooks, roles, and variables to ensure consistency and maintainability.
- Stay current with emerging tools and frameworks in test automation, configuration management, and containerization.
- Salary range for this role is $55,000 - 65,000 CAD annually
Requirements
- Post-secondary degree majoring in Computer, Information Technology or Engineering or 3 years or more of relevant working experience.
- Strong competency and experience in writing code in Java.
- Strong knowledge of TCP/IP networking on Linux, Unix.
- Experience using JUnit and understanding of TDD (Test Driven Development).
- Good understanding of Linux/Unix environments and troubleshooting them.
- Good understanding of Eclipse, GIT and Databases.
- Good analytical and problem-solving skills.
- Willingness and aptitude for finding and reporting software problems.
- Team player that is proficient and productive in producing test scenarios.
- Ability to work productively with limited supervision but capable of asking for help when appropriate/needed.
- Demonstrate excellent communication skills (in English, both written and verbal).
Preferred Specialized Qualifications:
- Experience in scripting (e.g., Python, Shell).
- Experience working with CI/CD pipelines such as Jenkins.
- Experience working in a cloud environment (AWS, GCP, etc).
- Experience working in a Telecom provider.
- Experience working with MongoDB.
- Experience working with Ansible and Docker.
- Knowledge of DSLAMs, CMTSs, and devices: (TR69, cable modem)
- Experience working with multi-tiered or multi-threaded applications.
- Experience in methodologies for GUI Testing.
- Experience in Test methodologies involving Big Data applications.
- Knowledge of network hardware: routers and switches.
