Intermediate Software Engineer (Calgary)

Intermediate Software Engineer (Calgary)

21 Oct
|
GeologicAI
|
Calgary

21 Oct

GeologicAI

Calgary

Intermediate Software Engineer

Department: Software Development

Employment Type: Permanent - Full Time

Location: Calgary

Description

The Platform Infrastructure team owns the infrastructure, tooling, and engineering practices that let us ship software safely and scale our systems reliably. This role sits at the intersection of software engineering and DevOps: you will build the CI/CD pipelines and deployment automation that get code to production, and you will go deep into the platform itself, profiling performance, identifying architectural bottlenecks, and refactoring the systems that limit our ability to scale.

This is not a role for someone who wants to maintain the status quo. We have the foundations, but we need someone with the instincts to find what is slowing us down next whether that is a fragile deployment pipeline, an unscalable data processing pattern, or a legacy component that needs to be modernized and the engineering depth to fix it

Key Responsibilities

CI/CD, Deployability & Infrastructure as Code

- Design, build, and own automated deployment pipelines from development through test, staging, and production, including deployments to field-based hardware at remote mine sites.
- Implement infrastructure as code (IaC) and configuration management practices that make environments reproducible, auditable, and easy to reason about.
- Drive setting parity across local development, test, staging, and production so that deployment failures are caught early and consistently.
- Automate release processes to reduce manual steps, eliminate deployment risk, and improve release cadence.
- Maintain and improve deployment reliability to distributed and edge environments,



including trailer-mounted compute units operating in the field.

Scale, Performance & Distributed Systems

- Profile and analyze distributed processing systems to identify performance bottlenecks across compute, I/O, memory, and network layers.
- Design and implement optimizations that allow our data pipelines and processing workflows to handle growing data volumes without degrading performance
- Develop pattern detection tooling to proactively surface systemic issues, resource contention, throughput degradation, failure modes before they become incidents.
- Contribute architectural thinking to discussions about how to scale components that were not originally designed for current data volumes

Refactoring & Platform Modernization

- Work within and improve legacy codebases, identifying the highestleverage refactoring opportunities and executing them without disrupting production systems.
- Containerize Python-based scientific processing applications to improve portability, isolation, and deployment consistency.
- Reduce technical debt incrementally and pragmatically, with a bias toward changes that improve scalability and maintainability simultaneously.
- Establish and promote platform engineering standards around code structure, dependency management,



and deployment readiness.

Testing & Release Quality

- Build and maintain test environments that accurately represent production at scale, including large-volume data processing scenarios.
- Develop automated regression, integration, and end-to-end validation frameworks across multiple processing systems.
- Improve release confidence through rigorous pre-production validation, automated quality gates, and controlled rollout mechanisms.
- Create shared testing utilities and reusable fixtures that lower the cost of writing high-quality tests across the engineering organization.

Observability & System Reliability

- Instrument systems with structured logging, distributed tracing, and metrics that make it possible to understand system behaviour under real workloads.
- Build dashboards and alerting that surface the right signals, not noise and enable the team to detect and respond to issues quickly.
- Establish reliability baselines and SLOs for critical processing pipelines and track progress against them over time.
- Conduct post-incident analysis and translate learnings into systemic improvements, not just one-off fixes.

Developer Experience

- Reduce friction in the development workflow: faster feedback loops, better local tooling, clearer onboarding, and self-service access to environments.
- Document what you build, runbooks, architecture decision records, onboarding guides — so knowledge is accessible and the team can operate independently.
- Collaborate with engineers across the organization to understand pain points and translate them into platform improveme

📌 Intermediate Software Engineer (Calgary)
🏢 GeologicAI
📍 Calgary

Reply to this offer

Impress this employer describing Your skills and abilities, fill out the form below and leave Your personal touch in the presentation letter.

Subscribe to this job alert:

Get the latest job offers by email for: intermediate software engineer (calgary) / calgary

Subscribe to this job alert:

Get the latest job offers by email for: intermediate software engineer (calgary) / calgary