CGI

Programmer Analyst – Java & PL/SQL (Intermediate)

Montréal, QuébecFull-time
About the Job
Overview:
This role focuses on the development, enhancement, and support of applications within a risk and data processing environment. The Programmer Analyst contributes to both project delivery and production support, working on performance optimization, system evolution, and cloud transformation initiatives.

The position involves close collaboration with development teams while maintaining a high standard of software engineering practices.

Key Responsibilities:
  •  Contribute to projects related to risk and portfolio systems.
  •  Enhance, maintain, and support existing applications and platforms. 
  •  Provide Level 2 and Level 3 production support. 
  •  Participate in project delivery and handle ad hoc requests. 
  •  Support cloud migration initiatives (e.g., Azure). 
  •  Optimize database and application performance. 
  •  Contribute to the transformation of models and processes to modern technologies (e.g., Python) 
  •  Design and implement workflows for data extraction and reporting (e.g., SQL to Excel/CSV) 
  •  Follow CI/CD pipelines for development, testing, and release processes. 
  •  Improve code quality through static analysis tools and best practices. 
  •  Support platform infrastructure at an advanced level. 
  •  Work independently while contributing to team-based improvements. 
  •  Promote software craftsmanship and continuous improvement practices. 

Qualifications:
Experience & Education:
  •  Bachelor’s degree in Computer Science or equivalent. 
  •  Minimum 5 years of experience in Java and PL/SQL development. 

Technical Skills:
Core Skills:
  •  Strong knowledge of Java (Java 8+) and PL/SQL. 
  •  Experience with multithreading and concurrent programming. 
  •  Proficiency with Spring Boot and core Spring Framework features. 
  •  Experience with relational databases (Oracle, PostgreSQL) 
  •  Familiarity with build tools (e.g., Maven) 
  •  Testing experience using frameworks such as JUnit. 
  •  API development and documentation (e.g., OpenAPI/Swagger) 
  •  Experience with DevOps tools and environments (Git, CI/CD pipelines, Linux) 
  •  Understanding of networking fundamentals (DNS, TCP/IP) 
  •  Experience across the full software development lifecycle (SDLC) 
  •  Ability to develop, test, document, and support applications. 

Methodologies:
  •  Strong understanding of software engineering best practices (e.g., clean code, design patterns, testing methodologies). 
  •  Experience working in Agile/Scrum environments. 

Preferred Qualifications:
  •  Experience with event streaming platforms (e.g., Kafka or similar) 
  •  Knowledge of application security (e.g., JWT, OAuth2) 
  •  Experience with testing frameworks (e.g., Mockito) 
  •  Exposure to big data technologies (e.g., Spark, data lakes) 
  •  Experience with cloud platforms and containerization (Azure, Docker, Kubernetes) 
  •  Frontend development experience (e.g., Angular) 
  •  Experience with monitoring and observability tools. 
  •  Experience with Python development. 
  •  Knowledge of financial systems and products. 

Core Competencies:
  •  Strong analytical and problem-solving skills. 
  •  Strategic thinking and decision-making ability. 
  •  Strong organizational and communication skills. 
  •  Ability to manage multiple priorities and work independently. 
  •  Collaborative mindset with a focus on continuous improvement. 

Language Requirements:
  •  Fluency in English and French (written and spoken).
  •  Ability to collaborate with international teams.

=============================================

Analyste Programmeur – Java & PL/SQL (Intermédiaire)

Présentation:
Ce poste consiste à développer, maintenir et supporter des applications dans un environnement orienté gestion des risques et traitement de données. L’analyste programmeur intervient à la fois sur des projets d’évolution et sur le support de production, en contribuant à l’optimisation des performances et aux initiatives de transformation vers le cloud.

Le rôle implique une collaboration étroite avec les équipes de développement tout en appliquant des standards élevés en ingénierie logicielle.

Responsabilités principales:
  •  Participer à des projets liés aux systèmes de gestion des risques et portefeuilles. 
  •  Maintenir, améliorer et supporter les applications existantes. 
  •  Assurer le support de production de niveau 2 et 3. 
  •  Contribuer aux projets et traiter des demandes ponctuelles. 
  •  Participer aux initiatives de migration vers le cloud (ex. Azure). 
  •  Optimiser les performances des bases de données et des applications. 
  •  Contribuer à la transformation des modèles vers des technologies modernes (ex. Python). 
  •  Concevoir des workflows pour l’extraction et le reporting de données (SQL vers Excel/CSV). 
  •  Suivre les pipelines CI/CD pour le développement et les mises en production. 
  •  Améliorer la qualité du code via des outils d’analyse et des bonnes pratiques. 
  •  Supporter l’infrastructure applicative à un niveau avancé. 
  •  Travailler de manière autonome tout en contribuant à l’amélioration continue. 
  •  Promouvoir les bonnes pratiques de développement logiciel. 

Profil recherché:
Expérience & Formation:
  •  Diplôme universitaire en informatique ou équivalent. 
  •  Minimum 5 ans d’expérience en développement Java et PL/SQL. 

Compétences techniques

Compétences principales:
  •  Excellente maîtrise de Java (Java 8+) et PL/SQL. 
  •  Expérience en programmation concurrente et multithreading. 
  •  Bonne maîtrise de Spring Boot et du framework Spring 
  •  Expérience avec des bases de données relationnelles (Oracle, PostgreSQL). 
  •  Connaissance des outils de build (Maven). 
  •  Expérience en tests (JUnit) 
  •  Développement et documentation d’API (OpenAPI/Swagger) 
  •  Expérience avec les outils DevOps (Git, CI/CD, Linux) 
  •  Connaissances réseau de base (DNS, TCP/IP) 
  •  Expérience du cycle de vie complet du développement logiciel (SDLC) 
  •  Capacité à développer, tester, documenter et supporter des applications. 

Méthodologies:
  •  Maîtrise des bonnes pratiques de développement (clean code, design patterns, tests). 
  •  Expérience en méthodologies Agile/Scrum. 

Atouts supplémentaires:
  •  Expérience avec des plateformes de streaming (ex. Kafka) 
  •  Connaissances en sécurité applicative (JWT, OAuth2) 
  •  Expérience avec des frameworks de test (Mockito) 
  •  Connaissance des technologies Big Data (Spark, Data Lake) 
  •  Expérience cloud et conteneurisation (Azure, Docker, Kubernetes) 
  •  Expérience frontend (Angular) 
  •  Connaissance des outils de monitoring. 
  •  Expérience en développement Python. 
  •  Connaissance des produits et systèmes financiers. 

Compétences comportementales:
  •  Excellentes capacités d’analyse et de résolution de problèmes. 
  •  Esprit stratégique et capacité de prise de décision. 
  •  Bonnes compétences organisationnelles et de communication. 
  •  Capacité à gérer plusieurs priorités. 
  •  Esprit d’équipe et amélioration continue. 

Langues:
  •  Maîtrise du français et de l’anglais, à l’écrit comme à l’oral. 
  •  Capacité à collaborer avec des équipes internationales.