Location: Ottawa, ON | Hybrid
Department: R&D- Infrastructure
Reports To: Sean O'Hagan, [Director, Engineering]
Type: Permanent | Full-Time
At Solink, our mission is to safeguard what matters most. We provide businesses with the tools to know sooner and act faster by transforming video security into real-time operational insights.
Our cloud-based platform integrates seamlessly with your existing cameras and systems, turning them into intelligent sensors that detect and interpret key moments. This empowers teams to make data-driven decisions, enhance security, and improve operational efficiency.
Trusted by over 30,000 locations across 32+ countries - including brands like McDonald’s and JYSK - Solink delivers clarity when it counts. Our solutions help businesses reduce shrink, optimize performance, and respond proactively to potential threats.
We're growing rapidly, earning industry recognition, and scaling with purpose. We’ve been recognized by Deloitte’s Fast 50 and Fast 500, Business Intelligence Group, and as one of Ottawa’s Best Places to Work. And we’re just getting started!
We're looking for a Software Development Engineer in Test (SDET) to join our Device Management team.
This is an engineering role first: you'll design and build test automation frameworks, tooling, and infrastructure that let the whole team ship confidently at speed. You'll write real code, against our Rust/Node.js APIs, our React front end, and our AWS serverless infrastructure, to make the system testable, simulate device behavior at scale, and catch problems before they reach customers. You'll work as a peer to developers, contributing to architecture discussions, code reviews, and design decisions, with quality and testability as your lens.
You'll have significant latitude to shape how the team approaches testing, from framework design to CI/CD integration to how we simulate thousands of IoT devices and video streams in a repeatable, automated way.
Automation Framework & Tooling Development
Design, build, and maintain automated test frameworks and libraries spanning REST APIs, UI (React), security, and end-to-end/integration layers.
Write production-quality code for test harnesses, device simulators, performance tools and mocks that emulate IoT device behavior and video streams at scale.
Build and maintain tooling that improves testability across the stack — including for distributed, event-driven components (Lambda, DynamoDB, SQS, Kinesis).
Integrate automated test suites into CI/CD pipelines, optimizing for fast, reliable feedback on every build and deployment.
Evaluate and introduce new tools, frameworks, and approaches to keep test infrastructure scalable as the platform and team grow.
Engineering Collaboration & Architecture
Participate as a technical peer in design sessions, RFCs, and architecture discussions — advocating for testability, observability, and reliability from the start.
Review code and pull requests with an eye toward correctness, edge cases, performance, and long-term maintainability.
Work closely with backend and frontend engineers to understand system design and build automation that reflects real production behavior.
Contribute to system reliability by supporting monitoring, alerting, and troubleshooting efforts, including issues involving device connectivity.
Test Strategy & Coverage
Design test plans and strategies for new and existing features, deciding where automation adds the most value versus targeted manual/exploratory testing.
Drive test coverage for IoT device configuration, monitoring, deployment, and connectivity workflows, as well as video playback, recording, and streaming features.
Validate distributed cloud systems for correctness, performance, and resilience under realistic and edge-case load.
Own test estimation and planning as part of sprint and release cycles, working directly with engineering leads.
Quality Leadership
Act as a proactive voice for quality across the engineering org — identifying systemic risks early and proposing engineering solutions (not just flagging bugs).
Mentor other engineers and QA team members on automation practices, framework usage, and testable design.
Provide direct, technically grounded feedback to developers and stakeholders when quality or architecture decisions are at risk.
Must-Have:
5+ years of experience in software testing with strong hands-on coding ability — this is a build-things role, not primarily a manual-execution role.
Strong programming skills in Python, plus working proficiency in TypeScript/JavaScript and/or Rust, sufficient to build and maintain real test infrastructure and tooling.
Demonstrated experience designing and building test automation frameworks from the ground up (API, UI, or integration layers), not just using existing ones.
Comfortable working in Linux environments.
Solid understanding of AWS services (Lambda, DynamoDB, SQS, Kinesis, or similar) and how they underpin distributed, serverless SaaS applications.
Experience integrating automated tests into CI/CD pipelines and treating test infrastructure as a first-class engineering deliverable.
Ability to read and reason about production code, participate meaningfully in code reviews, and collaborate with developers as a technical peer.
Strong systems thinking — able to reason about distributed, event-driven, and resilience-focused architectures.
Excellent communication skills, with the confidence to give direct, technically substantiated feedback to developers and stakeholders.
Bachelor's degree in Computer Science or a related field, or equivalent practical/engineering experience.
Nice-to-Have:
Experience with Infrastructure as Code tools (CDK, Terraform, Serverless Framework) for provisioning test environments.
Experience with IoT device communication protocols and building device simulators for test purposes.
Experience with video development, video streaming technologies, or testing video pipelines.
Familiarity with production monitoring and observability tooling (e.g., Datadog, Grafana, CloudWatch).
Experience with Snowflake, Elasticsearch, or other cloud-native data platforms.
Contributions to open-source testing/automation tools, or strong personal projects demonstrating framework design skills.
Prior experience in a fast-growing SaaS environment.
Interest in eventually contributing to product code, or a background that blends SDET and full-stack development work.
Candidates must undergo a criminal records check upon hire.
Candidates will be required to attend at least one (1) in-person interview at the Ottawa office.
Must be a Canadian citizen (dual citizens included) or eligible to work in Canada.
Must be willing to comply with Solink's security policies and standards.
Mandatory onboarding in Ottawa during the first week of employment.
Periodic in-person visits required (quarterly basis).
We do things the Solink way:
Act with URGENCY – Our customers move fast, so we do too.
Deliver with QUALITY – We sweat the details and hold a high bar.
Win with TEAM – No egos. Just outcomes, built together.
Lead with TRUST – We earn it through clarity, consistency, and care.
These aren’t just words—they shape how we hire, lead, and grow.
We’re not just building tech - we’re building a place where great people do great work.
Clarity and trust: Where the role allows, we support flexibility in how and where work gets done - and we’re upfront about what’s required.
Meaningful equity: Every full-time, permanent employee has a stake in our growth.
Comprehensive benefits: Fully paid health & dental (no waiting period) + $500 health spending account.
Wellness support: Monthly reimbursement for fitness, wellness, or mental health programs.
Growth through merit: Advancement is based on contribution, initiative, and the ability to raise the bar - together.
Candid culture: Clear expectations, honest feedback, and no politics.
Social connection: From So-learns to Solink-o and So-lunches, we stay connected in ways that actually feel fun.
We respect your time and value transparency. Here’s a general idea of what to expect:
Intro call with our Talent Team
Interview with the Hiring Manager
Technical Panel Interview & cross-functional team members
Final CTO Interview
Reference Checks
Offer & onboarding
Submit your resume and a short cover letter via our [Careers Page]. Let us know what excites you about this role, and how you’d help move Solink forward.
Compensation Range: CA$115K - CA$147.5K