Providius is looking for a
Software Engineer, Test to help build and maintain the automated testing behind our software products.
This is a hands-on engineering role for someone who enjoys writing code, building automation, investigating failures, and learning how complex software systems behave.
You will work directly with software engineers to automate testing, improve regression coverage, build reusable test tooling, and help make our releases more reliable.
This role sits within engineering. Testing is part of how we build software, not a separate step at the end of the development process.
Position Overview
Our software analyzes live network and media traffic in complex, mission-critical environments. It runs primarily on Linux across physical servers, virtual machines, containers, and cloud environments.
Testing these systems involves more than clicking through a user interface. You may be validating an API response, checking database data, replaying network traffic, investigating a Linux service, or determining whether an unexpected result came from the application or the environment underneath it.
You will help build and maintain automated regression suites and the infrastructure that supports them, including fixtures, test data, captured traffic, mocks, and simulated inputs.
You do not need to come in knowing every part of our technology stack. We are looking for someone with a solid software and test automation foundation who is comfortable learning systems, networking, and deeper testing techniques as they grow in the role.
Our products also include some AI and LLM-based functionality. AI testing is not the primary focus of this position, but you may contribute to testing these features alongside the rest of the engineering team.
Duties And Responsibilities
- Write and maintain automated tests across API, integration, UI, regression, and end-to-end testing
- Automate repetitive manual tests so they can run consistently as part of regular development
- Build and maintain reusable test utilities, fixtures, mocks, and test data
- Help maintain automated regression suites and investigate test failures
- Add and maintain smoke tests and automated checks in CI/CD pipelines
- Test REST APIs, including successful responses, failures, authentication, and edge cases
- Help build and maintain Linux, Docker, and virtual-machine based test environments
- Reproduce reported defects and add automated regression coverage where appropriate
- Investigate flaky tests and help identify their underlying causes
- Validate application behaviour against known inputs and expected outputs
- Test integrations such as APIs, syslog, SNMP, webhooks, and email notifications
- Assist with performance, load, and longer-running reliability tests
- Test installation, upgrade, and migration scenarios
- Debug failures across application, database, operating system, and network layers
- Work with developers to determine appropriate test coverage for new features
- Write clear defect reports with the information needed to reproduce and diagnose problems
- Participate in code reviews for test automation and tooling
- Contribute to testing AI-enabled features when required
Requirements
Tech Stack
Our engineering environment includes:
- Python, Java, and TypeScript
- pytest, JUnit, Playwright, and Cypress
- REST APIs
- PostgreSQL and TimescaleDB
- Linux
- Docker and virtual machines
- CI/CD pipelines
- JIRA and Bitbucket
- Network and time-series data
You do not need experience with every technology listed above.
Required Skills / Experience
- 1-3 years of experience in software testing, test automation, software development, QA engineering, or a related technical role
- Programming or scripting experience, preferably with Python, Java, JavaScript, or TypeScript
- Experience writing or maintaining automated tests
- Familiarity with at least one automated testing framework such as pytest, JUnit, Playwright, Cypress, Selenium, or similar
- Experience testing REST APIs
- Basic experience with Git and modern software development workflows
- Comfortable working from the Linux command line
- Basic understanding of SQL and relational databases
- General understanding of networking concepts such as TCP/IP, UDP, ports, and IP addressing
- Strong troubleshooting and problem-solving skills
- Ability to investigate a problem methodically and communicate what you found
- Willingness to learn unfamiliar systems and technologies
- Strong communication and collaboration skills
Nice to Haves
- Experience running automated tests in CI/CD pipelines
- Experience with Docker or virtual machines
- Experience with integration or end-to-end testing
- Experience debugging Linux services, logs, and processes
- Familiarity with networking concepts such as multicast, VLANs, routing, or switching
- Experience with performance, load, or soak testing
- Experience testing data-intensive, real-time, or distributed systems
- Experience working with test fixtures, mocks, synthetic data, or simulation
- Experience with on-premise software deployments
- Broadcast, media, pro AV, networking, or streaming experience
- Experience testing time-series data, alarms, thresholds, or telemetry
- Familiarity with AI or LLM-based software and how non-deterministic output differs from traditional software
- Experience adding automated test coverage to an existing codebase
Benefits
Pay
60,000-80,000 per year
Benefits
- Dental care
- Extended health care
- On-site parking
- Paid time off
- Vision care
Why Join Providius
- Work on technically challenging software rather than repetitive manual QA
- Build real automation and engineering skills
- Work directly with experienced software engineers
- Gain hands-on exposure to Linux, networking, distributed systems, automation, and real-time data
- Contribute directly to how our test automation and engineering practices evolve
- Take ownership of meaningful technical work as your experience grows