Description of Work:
- Design, implement, and maintain a robust, scalable, and cross-platform automated testing framework for agent functionality (e.g., data collection, remote execution, inter-process communication).
- Develop high-quality, reliable, and reusable automation tests (component, integration, end-to-end) primarily in C# (.NET) to validate agent behavior on Windows, Linux, and macOS.
- Work closely with development engineers to understand low-level system interactions and ensure test coverage for platform-specific components (e.g., Win32 API, Linux syscalls, macOS IOKit/Launchd).
- Integrate test suites into the CI/CD pipeline using Azure DevOps to ensure rapid and high-quality releases.
- Configure and maintain the multi-platform test environment, including provisioning virtual machines, containers, and physical end-points for accurate testing.
- Monitor test execution, analyze results, report defects, and collaborate with developers to ensure timely resolution.
- Translate business requirements and user scenarios into comprehensive test plans, technical specifications, and automation tasks.
- Participate fully in the Agile development lifecycle: planning, daily stand-ups, demos, and reviews.
Must Haves
- 5+ years of experience in software development or QA focused on automation engineering.
- Strong proficiency in C#/.NET for developing internal tools and integration tests, or demonstrable experience in a similar compiled language.
- Deep expertise in a scripting language for test orchestration and framework maintenance.
- Proven experience building and maintaining automated testing frameworks from scratch.
- Solid understanding of system-level software, including agents, services, or drivers, and the challenges of testing them.Strong practical knowledge of at least two of the following operating systems at a command-line/system-level: Windows, Linux, or macOS.
- Experience with CI/CD pipeline configuration and management (Azure DevOps Repos/Pipelines is a significant plus).
- Excellent knowledge of networking fundamentals, REST APIs, WebSockets, and inter-process communication protocols.
- Experience writing complex queries (SQL, KQL) to validate data collection and persistence.
- Solid understanding of multi-threaded programming and concurrency issues in testing.
- Organised, self-motivated, collaborative team player with a passion for quality.Experience in start-up culture delivering enterprise-level software.
About the Team:
- We are an Agile team; we work iteratively, fast-paced, and focus on delivering features and business value quickly.
- We deliver robust fixes and features to customers swiftly.
- We're in it together and deliver together. We take accountability and don't throw things over the fence.
- We are strongly invested in AI tools to assist us with our tasks and enjoy knowledge sharing.
- We make engineering-led decisions, with emphasis on clean architecture and maintainable code over technical debt.
- Whilst we work as a team, each individual makes a significant business impact and has clear opportunities to grow their career.
