10 Oct
|
Dahrouge Geological Consulting
|
Edmonton
10 Oct
Dahrouge Geological Consulting
Edmonton
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 workplace 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 essential for safety and maintaining a supportive work environment.
#J-18808-Ljbffr
📌 Senior Software Developer I (Edmonton)
🏢 Dahrouge Geological Consulting
📍 Edmonton