12 Oct
|
Dahrouge
|
Edmonton
Key Accountabilities
Job Title Important Tasks / Activities / Outcomes Technical Leadership &
• Architecture · 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. Team Standards &
• Mentorship · 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
Requirements Required 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.
- Multi-tenant SaaS architecture.
- 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.
- Explicit communication is essential for safety and maintaining a supportive work environment.
📌 Senior Software Developer I (Edmonton)
🏢 Dahrouge
📍 Edmonton