Senior Software Developer I

4 hours ago

Edmonton, Alberta, Canada Dahrouge Geological Consulting Ltd. Full-time

Responsibilities

  • Design and document the system architecture for assigned products, recording key decisions and trade-offs.
  • Plan and lead staged rebuilds of existing products so current clients see no disruption or data loss.
  • Select tools, frameworks and patterns that balance delivery speed, cost and long-term maintainability.
  • Work with the lead developer to shape the technical roadmap and identify technical debt worth paying down.
  • Translate business requirements into technical designs, estimates and clear stories with acceptance criteria.

Product Delivery & Ownership

  • Own large features and projects from design through to production, delivered on schedule and to agreed quality.
  • Contribute to sprint planning, estimation and retrospectives, helping keep the team’s delivery predictable.
  • Work with stakeholders and non-technical colleagues in various context and complexities to clarify requirements and explain trade-offs.
  • Ensure every release is tested, reviewed and documented before it reaches clients.
  • Monitor delivered features after launch and act on feedback, bugs and performance issues.

Security, Reliability & Observability

  • Apply secure development practices across products, including threat modelling and secrets management.
  • Design and maintain authentication and access control so each client’s data stays separate.
  • Ensure every service has logging, monitoring, alerting and backups, with tested recovery procedures.
  • Maintain CI/CD pipelines and Azure cloud infrastructure, keeping hosting costs under control.
  • Lead the response to production incidents, identify root causes and put preventive fixes in place.
  • Create SOPs to maintain coding standards, review guidelines and best practices.
  • Conduct thorough code reviews that raise the quality of the team’s code, including AI-assisted code.
  • Mentor junior developers through pairing, feedback and progressively larger assignments, and track their growth.

Position Requirements

Education

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

Experience

  • 8+ years of professional software development experience, including 2+ years as a senior or lead developer owning production systems.
  • Experience taking over or rewriting an existing codebase in stages while it remains in use.

Designations & Certifications

  • None required.
  • Certifications in cloud platforms (e.g., Microsoft Azure, AWS, or Google Cloud) or machine-learning specializations are considered an asset.

Knowledge, Skills & Abilities

  • Expert React and TypeScript, including Next.js (App Router) and state management for both server and client state.
  • Strong Python for backend services: FastAPI or similar, async, pydantic, strict typing and pytest.
  • PostgreSQL in depth: schema design, migrations, query performance and row-level security.
  • Authentication: OAuth 2.0 and OpenID Connect, Microsoft Entra ID, and access control for many clients in one system.
  • Application security: secure development practices, threat modelling and secrets management.
  • Microsoft Azure in production: Container Apps or App Service, managed PostgreSQL, Key Vault, networking and cost management.
  • Observability: structured logging, metrics and tracing (OpenTelemetry, Azure Monitor or Application Insights), alerting and incident handling.
  • CI/CD with GitHub Actions, and Docker.
  • Agile and Scrum, including writing clear stories and acceptance criteria.
  • Uses AI coding assistants daily and reviews their output as rigorously as a colleague’s code.
  • Able to explain technical trade-offs to non-developers.

Assets (Nice to have)

  • PostGIS and geospatial work: GeoPandas, Shapely, MapLibre or Leaflet.
  • Supabase and Vercel.
  • Payload CMS or another headless CMS.
  • Mining, exploration or geoscience experience.
  • Experience leading or growing a small dev team.
  • Ability to communicate in French.

Working Conditions

Office Work

  • Primarily works in a standard office environment with minimal exposure to physical hazards.
  • May encounter high-stress situations, especially when dealing with multiple projects and tight deadlines.
  • This position requires that the candidate will be in front of a computer for long periods, up to 8 hours a day.
  • Potential discomfort when working with computers for long periods may happen.

Overall

  • A strong commitment to safety is required, with adherence to protocols.
  • Clear communication is essent