About the Role
We are hiring a Senior QA Test Engineer (SDET) for our Industrial and Data team. Today the developers on this team test their own work, so the connectors that talk to PLCs and industrial control systems have no independent test coverage. You will own that coverage.
This is a role where you write code, not test documents. Your output is the automation framework, the regression suite that runs on every build, and the device and protocol simulators that let us test without waiting for physical hardware. You will sit with the industrial developers and work closely with the engineering team in the US and Canada.
What You'll Do
• Build and own automated test coverage for the southbound connectors that use OPC-UA, Modbus, EtherNet/IP, PROFINET and DNP3.
• Write end to end tests that drive Litmus Edge through its REST API, and keep them running in our GitLab pipelines on every internal build.
• Build protocol and device simulators, so tests do not have to queue for physical devices that only accept one connection at a time.
• Split coverage into development tests and regression tests, and run the regression suite on LTS builds and on an agreed cadence.
• Test upgrade and backward compatibility paths, behaviour under load, and longer soak runs.
• Triage failures from pipeline logs and report them with a clear timestamp, separating product bugs from infrastructure noise.
• Keep test cases and results in Jira and Xray so we can report coverage per component.
• Review acceptance criteria on tickets when development starts, not after it finishes.
What You'll Bring
Must Have
• 5+ years in software test automation, including at least 3 years writing test code in Go, Python or a similar language. This is not a manual or record and playback role.
• Hands on REST API test automation, including building and changing system state through API calls.
• Working knowledge of at least two industrial or IIoT protocols, for example OPC-UA, Modbus, EtherNet/IP, PROFINET, DNP3 or MQTT.
• Comfortable with Linux, Docker and CI pipelines (GitLab preferred), including reading pipeline logs to work out why a run failed.
Nice to Have
• Experience building device or protocol simulators, or hardware in the loop test setups.
• C++ or Golang development experience, since much of the team's code is written in those languages.
• Playwright or similar modern UI automation. Litmus is standardising its automation on Playwright.
• Jira and Xray for test case and test execution management.
• A high level understanding of PLCs, for example the difference between memory tags and symbolic tags.
• Performance, load or soak testing experience.
Option to be hybrid in Santa Clara or Toronto, or remote in the US or Canada.