Job Description
Position Description:
Location: Toronto, ON / Montreal, QC Preferred
Languages: Bilingual (English / French) Preferred
Employment Type: Full-Time, Permanent
CGI is seeking an experienced Senior Full Stack Developer to join our growing Software Engineering Practice within the Emerging Technologies team.
As a full-time member of CGI, you will join a collaborative team of architects, developers, and consultants delivering modern enterprise technology solutions for leading public and private sector organizations across Canada. You will help clients design, build, modernize, and scale custom end-to-end applications—spanning intuitive user interfaces, robust microservices, data integrations, cloud-native deployments, and cutting-edge AI capabilities.
Rather than specializing strictly in a single layer or static tech stack, you will leverage sound engineering fundamentals to deliver scalable, secure, and resilient applications across a variety of industries, languages, and client environments.
Your future duties and responsibilities:
1. Full-Stack Software Engineering
Frontend Development: Design and build modern, responsive, accessible, and performant user interfaces using JavaScript/TypeScript frameworks (such as React, Angular, or Vue.js).
Backend Development: Build high-performance backend systems, microservices, and business logic using modern frameworks (such as Java Spring Boot, .NET 8 / ASP.NET Core, Node.js/NestJS, Python FastAPI, or Go).
API Design & Integration: Design and implement robust APIs (REST, GraphQL, gRPC) and secure integrations with complex internal and third-party systems using API Gateways (e.g., Apigee).
Security & Auth: Implement secure authentication and authorization protocols (e.g., OAuth2, OIDC, Spring Security, Azure AD).
Code Quality & Architecture: Lead technical design sessions, perform peer code reviews, advocate for Test-Driven Development (TDD), and apply Domain-Driven Design (DDD) and event-driven architecture principles.
2. Software Delivery & Automation
CI/CD Pipelines: Design and maintain automated build, test, and deployment pipelines using tools such as GitHub Actions, GitLab CI/CD, Azure DevOps, or Jenkins.
Pipeline-as-Code: Author and maintain CI/CD configurations using YAML.
Automated Testing: Write comprehensive unit, integration, and end-to-end (E2E) test suites using tools such as JUnit, xUnit, Jest, Cypress, or Playwright to maintain reliability and prevent regressions.
DevSecOps & Quality: Enforce static code analysis and security standards using SonarQube, security scanners, and continuous integration workflows.
3. Cloud Native & Platform Engineering
Containerization & Orchestration: Deploy and support cloud-native applications utilizing containers and orchestration platforms such as Docker, Kubernetes, Red Hat OpenShift, AKS, GKE, or EKS.
Cloud Infrastructure & Serverless: Build resilient systems on public cloud platforms (AWS, Azure, GCP, OCI) leveraging serverless functions (e.g., Azure Functions, AWS Lambda, Cloud Run) and managed platform services.
Troubleshooting & Optimization: Diagnose complex production issues, memory leaks, and performance bottlenecks across distributed enterprise systems.
4. Data Engineering & Event Streaming
Database Management: Interface with relational databases (e.g., PostgreSQL, SQL Server, Oracle, DB2) and NoSQL datastores (e.g., MongoDB, Redis, CosmosDB).
Event Streaming & Integration: Build real-time, event-driven messaging applications using tools such as Apache Kafka, RabbitMQ, or SignalR.
Data Integration & Analytics: Support ETL/ELT pipelines (e.g., Azure Data Factory, Snowflake, DBT) and business intelligence tools (e.g., Power BI) where required.
5. Observability & Security
Telemetry & Monitoring: Ensure system health through logging, monitoring, and tracing using tools such as Datadog, Splunk, Dynatrace, ELK stack, Grafana, Prometheus, Azure Monitor, and OpenTelemetry.
Application Security: Apply OWASP Top 10 mitigations and secure coding guidelines throughout the software development lifecycle.
6. Emerging Technologies & AI Integration
Generative AI & Agentic Workflows: Design and implement AI-powered features leveraging LLMs, Retrieval-Augmented Generation (RAG), vector databases, and agentic AI frameworks (such as Microsoft Semantic Kernel, LangChain4j, Spring AI, or Model Context Protocol).
AI Tooling & Governance: Utilize AI coding assistants (such as GitHub Copilot or Amazon Q) to accelerate development and support enterprise AI governance and responsible AI principles.
Innovation: Contribute to proof-of-concepts (PoCs), reusable code accelerators, and technical practice assets.
7. Consulting & Team Leadership
Client Engagement: Partner directly with client business and technical stakeholders to translate business requirements into pragmatic technical designs.
Mentorship: Guide and mentor junior and intermediate engineers, promoting engineering excellence and practice growth.
Estimation & Strategy: Participate in solution design, technical estimations, proposals, and architecture review sessions.
Required qualifications to be successful in this role:
Engineering Experience
Professional Experience: Demonstrated track record of designing, building, and supporting custom enterprise applications across frontend and backend domains.
Architectural Knowledge: Deep understanding of modern software architecture principles (Microservices, Event-Driven Architecture, Domain-Driven Design, RESTful services).
Adaptability: Proven ability to quickly learn and adapt to new programming languages, frameworks, and cloud services depending on client engagement requirements.
Technologies We Commonly Work With
Depending on client engagements and project needs, you will work with technologies such as:
Category
Representative Technologies & Frameworks
Frontend
JavaScript, TypeScript, React, Angular, Vue.js, HTML5/CSS3
Backend
Java 17+ (Spring Boot, Spring Security, Hibernate) OR C# / .NET 8 (ASP.NET Core, EF Core) OR Node.js (NestJS, Express) / Python (FastAPI, Django) / Go
APIs & Integration
REST, GraphQL, gRPC, OpenAPI/Swagger, API Gateways (e.g., Apigee), OAuth2, OIDC
Cloud & DevOps
Azure, AWS, GCP, Docker, Kubernetes (AKS / GKE / OpenShift), Terraform, Bicep, GitHub Actions, Azure DevOps, Jenkins
Databases & Data
PostgreSQL, SQL Server, Oracle, MongoDB, Redis, CosmosDB, Apache Kafka, RabbitMQ
Testing & Quality
JUnit, xUnit, Jest, Cypress, Playwright, SonarQube, TDD/BDD
Observability
Datadog, Splunk, Dynatrace, ELK Stack, Grafana, Prometheus, Azure Application Insights
(Note: Candidates are not expected to have expertise in all listed technologies, but rather deep expertise in one or more core areas along with a strong willingness and ability to adapt.)
Professional & Consulting Skills
Strong analytical, problem-solving, and debugging skills.
Excellent verbal and written communication skills (English required; French is a strong asset).
Ability to present complex technical ideas clearly to both business leaders and technical teams.
Strong collaborative mindset with experience working in Agile/Scrum delivery teams.
Nice-to-Have Assets
Experience with any of the following is considered an asset:
Integrating Large Language Models (LLMs) and RAG using frameworks like LangChain, Semantic Kernel, or Spring AI.
Platform engineering tools, internal developer portals (e.g., Backstage), or Infrastructure as Code (Terraform, Bicep).
Cloud data platforms (e.g., Snowflake, Databricks, Azure Data Factory).
Industry domain knowledge in Financial Services, Insurance, Public Sector, Healthcare, Telecommunications, or Utilities.
Why Join CGI?
At CGI, you will join an inclusive, collaborative community of software engineers and architects driving enterprise digital transformation.
As a permanent member of CGI's Software Engineering Practice, you will enjo