Back to results

Senior Software Developer In Test - Python Automation Engineer

  • Ottawa, ON, Canada

Contract

Applications open in a new tab.

Job details

Job type
Contract
Posting language
English
Posted

Original job description

Telesat (Nasdaq and TSX: TSAT) is a leading global satellite operator, providing reliable and secure satellite-delivered communications solutions worldwide to broadcast, telecommunications, corporate and government customers for over 55 years. Backed by a legacy of engineering excellence, reliability and industry-leading customer service, Telesat has grown to be one of the largest and most successful global satellite operators.

Telesat Lightspeed, our revolutionary Low Earth Orbit (LEO) satellite network, scheduled to begin service in 2027, will revolutionize global broadband connectivity for enterprise and Government users by delivering a combination of high capacity, security, resiliency and affordability with ultra-low latency and fiber-like speeds. Telesat is headquartered in Ottawa, Canada, and has offices and facilities around the world.

The company’s state-of-the-art Satellite fleet consists of 14 GEO satellites, the Canadian payload on ViaSat-1 and one LEO 3 demonstration satellite. For more information, follow Telesat on X and LinkedIn or visit www.telesat.com

Position Overview

We are seeking a highly skilled Senior Python Automation Engineer to design, build, and evolve production-grade automation frameworks, engineering tools, and automated validation for distributed, event-driven microservices. This is a senior hands-on software development role with no people-management responsibility. The successful candidate will use Python as the primary engineering language, apply AI-assisted development responsibly, and work across APIs, asynchronous messaging, CI/CD, containers, and Kubernetes environments.

The engineer will collaborate with software developers, DevOps engineers, architects, and quality engineering stakeholders to improve testability, shorten feedback cycles, diagnose complex distributed failures, and produce repeatable evidence of software quality and release readiness.

\nKey Responsibilities
  • Design, develop, maintain, and document production-grade automation frameworks, reusable Python packages, fixtures, command-line tools, test utilities, and supporting services.
  • Use AI-assisted development tools in day-to-day engineering to accelerate coding, refactoring, test generation, debugging, analysis, and documentation while independently reviewing outputs for correctness, security, maintainability, and licensing risk.
  • Design automated tests with Pytest and apply deep knowledge of collection and execution flow, fixtures, parametrization, markers, hooks, configuration, and plugin architecture.
  • Configure, extend, or create Pytest plugins for parallel execution, reporting, retries, logging, test selection, resource coordination, port allocation, environment management, and CI-friendly result publication.
  • Read and understand existing Java code and create or modify small Java scripts or utilities when required. The role does not own Java-based test automation.
  • Develop, integrate, and validate REST APIs and gRPC services, including unary calls, server-side streaming, client-side streaming where applicable, and bi-directional streaming.
  • Build automation for distributed, event-driven microservices and asynchronous workflows using Azure Service Bus and Azure Blob Storage, including message correlation, ordering, timing, retries, idempotency, dead-letter handling, failure recovery, and data validation.
  • Create functional, integration, component, contract, system, regression, reliability, resilience, performance, and scalability automation for service-based and end-to-end workflows.
  • Validate distributed-system behaviours such as eventual consistency, partial failure, timeout propagation, retry behaviour, duplicate delivery, backpressure, concurrency, and service recovery.
  • Integrate tests, reports, logs, artifacts, environment controls, and automated quality gates into GitLab CI/CD pipelines and GitLab Runner environments.
  • Package and execute automation in containerized environments and deploy, inspect, diagnose, and troubleshoot tests and microservices running on Kubernetes.
  • Improve repeatability through deterministic test data, configuration management, environment isolation, structured logging, metrics, traces, and actionable failure diagnostics.
  • Participate in code reviews, technical design discussions, engineering standards, documentation, and peer knowledge sharing as a senior individual contributor.
Requirements
  • Strong hands-on Python development experience, including object-oriented design, typing, packaging, dependency management, concurrency or asynchronous programming, error handling, logging, and maintainable framework architecture.
  • Demonstrated experience designing and implementing substantial automation frameworks and engineering tooling, not only writing individual test cases.
  • Deep understanding of Pytest architecture, collection and execution lifecycle, fixture design, parametrization, hooks, configuration, plugin development, and plugin ecosystems.
  • Practical experience using AI-powered development tools as part of normal engineering workflows, with disciplined human review and validation of generated code and tests.
  • Working knowledge of Java sufficient to read production code and write or modify small scripts and utilities.
  • Experience developing, integrating, or testing REST APIs and gRPC services, including streaming patterns and distributed failure modes.
  • Experience automating asynchronous messaging and object-storage workflows using Azure Service Bus and/or Azure Blob Storage, or closely comparable technologies.
  • Experience with GitLab, merge-request workflows, source-control best practices, GitLab CI/CD, runners, pipeline artifacts, and automated quality gates.
  • Solid understanding of distributed systems, event-driven architecture, microservices, Linux, containers, CI/CD, and automated deployment pipelines.
  • Strong debugging, analytical, communication, and collaboration skills, with the ability to work independently in a senior developer capacity.
Nice to Have
  • Foundational networking knowledge, including IP addressing, ports, DNS, TLS, routing, load balancing, connectivity troubleshooting, and client-server behaviour.
  • Experience working in highly automated, AI-enabled engineering environments where AI tools support a significant portion of coding, scripting, analysis, and documentation.
  • Exposure to Prometheus, Grafana, OpenTelemetry, structured logs, metrics, and distributed traces.
  • Exposure to telecommunications, SDN orchestration, simulation, high-performance computing, or engineering-modelling platforms.
Education

Bachelor’s or master’s degree in Computer Science, Software Engineering, Computer Engineering, or a related field, or equivalent practical experience.

\n

The successful candidate must be able to work in Canada and obtain clearance under the Canadian Controlled Goods program (CGP) and Reliability.

More about this job

Responsibilities

Design, develop, and maintain production-grade automation frameworks and engineering tools for distributed, event-driven microservices. Collaborate with cross-functional teams to improve testability, shorten feedback cycles, and ensure software quality through automated validation.

Requirements

Requires strong hands-on Python development experience and deep knowledge of Pytest architecture and plugin ecosystems. Candidates must have experience with distributed systems, CI/CD pipelines, containerized environments, and the ability to obtain Canadian Controlled Goods program clearance.

Skills

  • Python
  • Pytest
  • Automation Frameworks
  • REST APIs
  • gRPC
  • Azure Service Bus
  • Azure Blob Storage
  • GitLab CI/CD
  • Kubernetes
  • Microservices
  • Event-driven Architecture
  • Containerization
  • Linux
  • Java
  • AI-assisted Development
  • Distributed Systems

Visa sponsorship

Not detected in the job text

Categories

  • Technology
  • Software
  • Engineering

Keywords

  • Python
  • Pytest
  • Automation
  • Microservices
  • REST API
  • gRPC
  • Azure Service Bus
  • Azure Blob Storage
  • GitLab CI/CD
  • Kubernetes
  • Docker
  • Linux
  • Java
  • Event-driven Architecture
  • Distributed Systems
  • CI/CD
  • AI-assisted Development
  • Software Quality
  • Test Automation
  • Infrastructure as Code
  • Telemetry
  • Prometheus
  • Grafana
  • OpenTelemetry
  • Networking
  • SDN Orchestration
  • Satellite Communications
  • LEO
  • Controlled Goods Program
  • Reliability

Report this job