At a Glance
- Tasks: Design and document system architecture while leading product rebuilds with zero disruption.
- Company: Join a forward-thinking tech company that values innovation and collaboration.
- Benefits: Enjoy competitive pay, health perks, remote work options, and growth opportunities.
- Other info: Dynamic office environment with a focus on safety and clear communication.
- Why this job: Make a real impact by owning projects from design to production using cutting-edge tech.
- Qualifications: 8+ years in software development with strong skills in React, TypeScript, and Python.
The predicted salary is between 135000 - 165000 $ per year.
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 contexts 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
- 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 in Edmonton employer: Dahrouge Geological Consulting Ltd.
As a Senior Software Developer I at our company, you will thrive in a dynamic and collaborative work culture that prioritizes innovation and employee growth. We offer competitive benefits, including professional development opportunities and a supportive environment where your contributions directly impact our clients and products. Located in a vibrant area, our office fosters creativity and teamwork, making it an excellent place for those seeking meaningful and rewarding employment.
Contact Details:
Dahrouge Geological Consulting Ltd. Recruitment Team