07 Oct
|
Dahrouge Geological Consulting
|
Edmonton
07 Oct
Dahrouge Geological Consulting
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.
- Robust 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.
- Clear communication is essential for safety and maintaining a supportive work environment.
📌 Senior Software Developer I (Edmonton)
🏢 Dahrouge Geological Consulting
📍 Edmonton