Senior Software Engineer to design, develop, and support cloud-native applications and data
- Temps plein
Duration: Until December 15,
Location: Hybrid (primarily remote; anticipated onsite 1–2 days per quarter, Toronto or Wtaerloo)
As a Senior Software Engineer, this candidate will design, develop, and support modern cloud-native applications and data solutions on AWS. You will work across software engineering, data platforms, and DevOps practices to deliver scalable, secure, and reliable solutions. The role involves hands-on development, automation, troubleshooting, and collaboration with cross-functional teams.
Must Haves
- Python — primary development language; essential per manager
- AWS — S3, Lambda, EventBridge, SQS, API Gateway, serverless fundamentals
- Git/Bitbucket — source control, branching strategies, code collaboration
- Jenkins & CI/CD — build automation, pipelines, GitHub Actions, GitLab CI/CD, Harness
- Core Engineering Experience —
- 2–5 years in software engineering, DevOps, or application development
- Experience developing in Python and/or Java
- Participation in code reviews and applying best practices
- Agile & Collaboration Tools —
- Scrum/Kanban: Strong understanding of Agile methodologies and experience working within Scrum or Kanban teams
- Jira & Confluence: Experience with Jira and Confluence for planning, tracking, and collaboration.
- Modern Architecture & Development Concepts —
- Distributed systems, APIs, microservices: Understanding of distributed systems, APIs, event-driven architectures, and microservices design principles.
- Event‑driven architectures
- Infrastructure‑as‑code fundamentals: Familiarity with infrastructure-as-code, configuration management, and automation concepts
- Modern web frameworks (React, Angular, Vue, Preact, or similar technologies)
- AI‑assisted development tools (GitHub Copilot, Claude Code)
Nice to Have
- Terraform — infrastructure-as-code, automation, provisioning
- Snowflake — RBAC, masking, SQL fundamentals, data warehouse experience
- AWS Lambda — serverless compute, event-driven workflows
- AWS Data & Analytics Services — Glue Catalog/ETL, Lake Formation, Athena, SageMaker
- Cloud-Native & Event-Driven Architecture — building distributed, serverless, or event-driven applications on AWS
- Containerization & Orchestration — Docker, Kubernetes
- AWS Security & Governance — IAM, encryption, access management
- Quality, Observability & DevOps Practices — TDD, unit/integration testing, monitoring, logging, SRE/Platform Engineering exposure
- Certifications — AWS, Terraform, or related cloud certifications
Roles
Role 1 – Snowflake Platform & AI/FinOps Enablement
This role supports the Managed Snowflake Platform Team, which owns Snowflake onboarding and platform operations for internal clients. Work includes:
- Cortex AI enablement and governed model RBAC
- FinOps chargeback and AI/serverless cost attribution
- Collibra‑integrated data governance (autoclassification, lineage, metadata sync)
- Migration of onboarding portal → standalone admin API/Lambda service
- Governed OpenFlow RDBMS integration
- Standardized dbt‑on‑Snowflake operating model
Nice-to-have skills (highly valued): Terraform, Snowflake, Lambda
Role 2 – Data Control Plane (No Snowflake/Terraform Required)
This role supports the Data Control Plane Team, which manages ingestion and governance of data entering data lake and data warehouse environments.
- Primarily S3-based ingestion
- Some Postgres usage
- General data onboarding and environment support
This role does NOT require Snowflake or Terraform experience.
Responsibilities:
- Analyze, investigate, and recommend solutions to improve processes, enhance operational efficiency, identify pain points, and optimize development workflows.
- Contribute to the creation and maintenance of technical documentation, standards, reusable frameworks, and implementation templates.
- Collaborate effectively with cross-functional teams using Agile methodologies to plan, develop, test, and deliver software solutions.
- Utilize Jira and Confluence to manage work, track progress, document requirements, and support team collaboration.
- Implement and follow source control best practices using Git, Bitbucket, and modern branching strategies such as GitFlow and Trunk-Based Development.
- Design, develop, test, and maintain software applications using Python and Java.
- Participate in code reviews to ensure code quality, maintainability, security, and adherence to engineering standards.
- Support and improve CI/CD pipelines using tools such as Jenkins and GitLab CI/CD.
- Assist with infrastructure automation, provisioning, and configuration management using tools such as Terraform and Ansible.
- Contribute to the design and implementation of distributed systems and microservices-based applications.
- Work with cloud-native technologies and AWS services to build scalable, reliable, and secure solutions.
- Troubleshoot production issues, perform root cause analysis, and implement preventive solutions.
- Partner with team members to promote engineering best practices, knowledge sharing, and continuous improvement.
- Collaborate with stakeholders to translate business requirements into technical solutions and implementation plans