Java Developer with DevOp (Winnipeg)

Java Developer with DevOp (Winnipeg)

19 Oct
|
CG
|
Winnipeg

19 Oct

CG

Winnipeg

Software Engineer – Java & DevOps

About the Role:

We are seeking a

Senior Software Engineer – Java & DevOps

to join the Information Technology team in the Americas.

In this role, you will design, develop, enhance, deploy, and operate

Java-based applications and backend services , with a strong focus on

Spring Boot, REST APIs, application integration, automation, and DevOps practices .

You will contribute throughout the complete software development lifecycle—from solution design and hands-on Java development through testing, CI/CD, deployment, production support, monitoring, security remediation, and continuous improvement.

Working closely with development, infrastructure, cybersecurity, and business teams, you will help build

reliable, secure, maintainable, and operationally resilient applications , while continuously improving how software is built, deployed, and supported.

Key Responsibilities:

Design, develop, test, and maintain

Java applications, backend services, and REST APIs , primarily using

Java and Spring Boot . Produce high-quality, maintainable Java code following established software engineering principles, design patterns, coding standards, and secure development practices. Design and implement

RESTful APIs, integrations, and application services

that are reliable, scalable, secure, and maintainable. Develop automated

unit, integration, API, and system tests

to improve application quality and deployment confidence. Participate in application architecture and technical design, including API design, data models, application integrations, error handling, logging, and operational considerations. Contribute to

CI/CD pipelines and DevOps practices

using technologies such as Git, Jenkins, Harbor, and related build, deployment, and orchestration tools. Automate application build, testing, packaging, deployment, configuration, and operational activities wherever practical. Support Java applications throughout their complete lifecycle, including

development, deployment, production operations, troubleshooting, maintenance, upgrades, and modernization . Troubleshoot application and production issues by analyzing logs, application behavior, integrations, database interactions, infrastructure dependencies, and deployment configurations. Improve

application observability, reliability, performance, and operational resilience , including effective logging, monitoring, health checks, alerting, and support procedures. Maintain and enhance application databases and data-access components, including solutions using

Microsoft SQL Server and Transact-SQL . Maintain application environments hosted in

private cloud infrastructure

and collaborate with infrastructure teams on application runtime, configuration, connectivity, and deployment requirements. Identify and remediate

application and dependency vulnerabilities , and proactively address outdated Java libraries, frameworks, runtime components, and other technology obsolescence. Develop supporting automation and engineering utilities using

Python, JavaScript, PowerShell, APIs, Selenium, or other appropriate technologies

when required. Participate in code reviews and promote engineering best practices related to code quality, automated testing, security, maintainability, and operational readiness. Produce clear technical documentation, including architecture and design documentation, deployment procedures, operational runbooks, troubleshooting guides, and knowledge-transfer materials. Collaborate with cross-functional and global IT teams to deliver shared application and technology solutions. Contribute to the continuous improvement of

software development, CI/CD, deployment, and production support practices . Required Qualifications:

5+ years of software engineering experience , with strong hands-on experience developing

Java applications and backend services . Strong proficiency in

Java and Spring Boot , including the development of enterprise applications, services, and REST APIs. Strong understanding of

object-oriented design, software engineering principles, design patterns, and clean, maintainable code . Experience designing, developing, integrating, and supporting

REST APIs and distributed application integrations . Experience with automated testing, including

unit and integration testing

of Java applications and services. Strong experience with

Git

and modern source-control and code-review practices. Experience with

CI/CD and DevOps tooling , including Jenkins, Harbor, or comparable build, artifact management, and deployment technologies. Experience supporting applications in

production environments , including deployments, troubleshooting, incident resolution, monitoring, maintenance, and upgrades. Experience working with relational databases and SQL, preferably

Microsoft SQL Server and Transact-SQL . Experience with modern Java development environments, particularly

IntelliJ IDEA , or comparable IDEs. Understanding of

secure software development , dependency management, vulnerability remediation, and technology lifecycle management. Ability to troubleshoot issues across the application stack, including application code, APIs, databases, configuration, deployment pipelines, and infrastructure dependencies. Preferred Qualifications:

Experience with one or more of the following would be considered an asset:

Python, JavaScript, and/or PowerShell

for scripting, tooling, and operational automation. Additional Spring ecosystem technologies and Java build/dependency management tools. Docker, containerized applications, and container orchestration technologies . Jenkins, Harbor, and advanced CI/CD pipeline automation. Application monitoring, logging, observability, and performance troubleshooting. Selenium and automated functional testing. PostgreSQL. Insomnia or similar API development and testing tools. Camunda,

Form.io , and BPMN.



JIRA and Agile software delivery methodologies. Autosys or similar workload automation and scheduling platforms. Private and/or public cloud environments. Infrastructure and application configuration automation. What You Bring:

Strong

Java software engineering skills

and an interest in building reliable, maintainable, and production-ready applications. A

DevOps mindset , with an understanding that software engineering includes not only writing code but also testing, deploying, operating, monitoring, and continuously improving applications. Strong analytical and troubleshooting skills across development and production environments. A pragmatic, results-oriented approach and the ability to translate technical challenges into sustainable engineering solutions. Ability to take ownership of applications and technical initiatives from

design and development through deployment and production support . Strong collaboration skills and the ability to work effectively with developers, infrastructure engineers, cybersecurity teams, and business stakeholders. Clear written and verbal communication skills, including the ability to explain technical concepts to different audiences. Robust documentation, code-review, and knowledge-sharing practices. A continuous-improvement mindset and an interest in

modernizing applications, automating delivery processes, reducing operational effort, and improving software reliability . Language Requirements:

English: Fluent – required.

The successful candidate will regularly collaborate with colleagues, stakeholders, and partners in the United States. French: An asset. Version française

Ingénieur(e) logiciel – Java et DevOps:

À propos du poste:

Au sein du

Global Chief Operating Office (GCOO) , le département

Global Technology Services (GTS)

fournit des services d'infrastructure TI sécurisés, fiables et évolutifs à l'échelle de l'organisation. GTS soutient notamment les applications d'affaires, les plateformes infonuagiques, les services de connectivité et l'environnement de travail numérique, tout en contribuant activement à la transformation numérique de l'organisation.

Nous sommes à la recherche d'un(e)

Ingénieur(e) logiciel senior – Java et DevOps

pour se joindre à l'équipe des Technologies de l'information dans les Amériques.

Dans ce rôle, vous serez responsable de la conception, du développement, de l'amélioration, du déploiement et de l'exploitation

d'applications et de services backend Java , avec un accent particulier sur

Spring Boot, les API REST, l'intégration applicative, l'automatisation et les pratiques DevOps .

Vous contribuerez à l'ensemble du cycle de développement logiciel, de la conception de solutions et du développement Java jusqu'à les tests, à l'intégration et au déploiement continus (CI/CD), à la mise en production, au soutien opérationnel, à la surveillance, à la correction des vulnérabilités et à l'amélioration continue.

En étroite collaboration avec les équipes de développement, d'infrastructure, de cybersécurité et d'affaires, vous contribuerez à la réalisation

d'applications fiables, sécurisées, maintenables et résilientes , tout en améliorant continuellement les méthodes utilisées pour développer, déployer et exploiter les solutions.

Principales responsabilités:

Concevoir, développer, tester et maintenir des

applications Java, des services backend et des API REST , principalement à l'aide de

Java et Spring Boot . Produire du code Java de haute qualité et facilement maintenable en appliquant les principes de génie logiciel, les patrons de conception, les normes de développement et les pratiques de développement sécurisé. Concevoir et mettre en œuvre des

API REST, des intégrations et des services applicatifs

fiables, évolutifs, sécurisés et maintenables. Développer des

tests unitaires, d'intégration, d'API et système automatisés

afin d'améliorer la qualité des applications et la fiabilité des mises en production. Participer à l'architecture et à la conception technique des applications, notamment la conception des API, les modèles de données, les intégrations, la gestion des erreurs, la journalisation et les considérations opérationnelles. Contribuer aux

pipelines CI/CD et aux pratiques DevOps

à l'aide de technologies telles que Git, Jenkins, Harbor ainsi que d'autres outils de compilation, de déploiement et d'orchestration. Automatiser, lorsque pertinent, les activités de

compilation, de test, de packaging, de déploiement, de configuration et d'exploitation

des applications. Assurer la prise en charge des applications Java tout au long de leur cycle de vie, notamment le

développement, le déploiement, l'exploitation en production, le diagnostic, la maintenance, les mises à niveau et la modernisation . Diagnostiquer les problèmes applicatifs et de production en analysant les journaux, le comportement des applications, les intégrations, les interactions avec les bases de données, les dépendances d'infrastructure et les configurations de déploiement. Améliorer

l'observabilité, la fiabilité, la performance et la résilience opérationnelle

des applications, notamment grâce à la journalisation, à la surveillance, aux contrôles d'état, aux alertes et aux procédures de soutien. Maintenir et améliorer les bases de données applicatives et les composants d'accès aux données, notamment les solutions utilisant

Microsoft SQL Server et Transact-SQL .



Maintenir les environnements applicatifs hébergés dans une

infrastructure infonuagique privée

et collaborer avec les équipes d'infrastructure concernant les environnements d'exécution, la configuration, la connectivité et les exigences de déploiement. Identifier et corriger les

vulnérabilités applicatives et celles liées aux dépendances , et gérer de façon proactive l'obsolescence des bibliothèques Java, des frameworks, des environnements d'exécution et des autres composants technologiques. Développer, au besoin, des outils complémentaires d'automatisation à l'aide de

Python, JavaScript, PowerShell, API, Selenium ou d'autres technologies appropriées . Participer aux revues de code et promouvoir les meilleures pratiques en matière de qualité du code, de tests automatisés, de sécurité, de maintenabilité et de préparation opérationnelle. Produire une documentation technique claire, notamment la documentation d'architecture et de conception, les procédures de déploiement, les guides opérationnels, les procédures de diagnostic et les documents de transfert de connaissances. Collaborer avec des équipes TI transversales et internationales afin de concevoir et de mettre en œuvre des solutions applicatives et technologiques communes. Contribuer à l'amélioration continue des pratiques de

développement logiciel, de CI/CD, de déploiement et de soutien en production . Qualifications requises:

Au moins 5 ans d'expérience en génie logiciel , avec une solide expérience pratique dans le développement

d'applications et de services backend Java . Excellente maîtrise de

Java et Spring Boot , notamment pour le développement d'applications d'entreprise, de services et d'API REST. Solide compréhension de la

conception orientée objet, des principes de génie logiciel, des patrons de conception et des pratiques favorisant un code propre et maintenable . Expérience dans la conception, le développement, l'intégration et le soutien

d'API REST et d'intégrations applicatives distribuées . Expérience avec les tests automatisés, notamment les

tests unitaires et d'intégration

d'applications et de services Java. Solide expérience avec

Git

ainsi qu'avec les pratiques modernes de gestion du code source et de revue de code. Expérience avec les

outils et pratiques CI/CD et DevOps , notamment Jenkins, Harbor ou des technologies comparables de compilation, de gestion des artefacts et de déploiement. Expérience dans le soutien d'applications en

environnement de production , notamment les déploiements, le diagnostic, la résolution d'incidents, la surveillance, la maintenance et les mises à jour. Expérience avec des environnements modernes de développement Java, notamment

IntelliJ IDEA , ou des outils comparables. Bonne compréhension du

développement logiciel sécurisé , de la gestion des dépendances, de la correction des vulnérabilités et de la gestion du cycle de vie technologique. Capacité à diagnostiquer des problèmes touchant différentes couches d'une solution, notamment le code applicatif, les API, les bases de données, la configuration, les pipelines de déploiement et les dépendances d'infrastructure. Qualifications souhaitées:

Une expérience avec une ou plusieurs des technologies ou pratiques suivantes constitue un atout:

Python, JavaScript et/ou PowerShell

pour le scripting, le développement d'outils et l'automatisation opérationnelle. Technologies complémentaires de l'écosystème Spring et outils Java de compilation et de gestion des dépendances. Docker, applications conteneurisées et technologies d'orchestration de conteneurs . Jenkins, Harbor et automatisation avancée des pipelines CI/CD. Surveillance applicative, journalisation, observabilité et analyse de performance. Selenium et tests fonctionnels automatisés. PostgreSQL. Insomnia ou des outils similaires de développement et de test d'API. Camunda,

Form.io

et BPMN. JIRA et les méthodologies Agile de développement logiciel. Autosys ou des plateformes similaires d'ordonnancement et d'automatisation des traitements. Environnements infonuagiques privés et/ou publics. Automatisation de la configuration des applications et des environnements. Compétences recherchées:

Solides compétences en

développement logiciel Java

et intérêt marqué pour la conception d'applications fiables, maintenables et prêtes pour la production. Une

culture DevOps , avec la compréhension que le génie logiciel englobe non seulement le développement, mais également les tests, le déploiement, l'exploitation, la surveillance et l'amélioration continue des applications. Excellentes aptitudes d'analyse et de diagnostic dans les environnements de développement et de production. Approche pragmatique et axée sur les résultats, avec la capacité de transformer des enjeux techniques en solutions d'ingénierie durables. Capacité à prendre en charge des applications et des initiatives techniques de la

conception et du développement jusqu'au déploiement et au soutien en production . Excellent esprit de collaboration et capacité à travailler efficacement avec les développeurs, les équipes d'infrastructure et de cybersécurité ainsi qu'avec les parties prenantes d'affaires. Excellentes aptitudes en communication écrite et orale et capacité à expliquer des concepts techniques à différents types d'interlocuteurs. Rigueur dans la documentation, les revues de code et le partage des connaissances. Esprit d'amélioration continue et intérêt pour la

modernisation des applications, l'automatisation des processus de livraison, la réduction des efforts opérationnels et l'amélioration de la fiabilité des solutions . Exigences linguistiques:

Anglais: maîtrise professionnelle requise.

La personne retenue devra collaborer régulièrement avec des collègues, des parties prenantes et des partenaires situés aux États-Unis. Français: un atout.

#J-18808-Ljbffr

📌 Java Developer with DevOp (Winnipeg)
🏢 CG
📍 Winnipeg

Reply to this offer

Impress this employer describing Your skills and abilities, fill out the form below and leave Your personal touch in the presentation letter.

Subscribe to this job alert:

Get the latest job offers by email for: java developer with devop (winnipeg) / winnipeg

Subscribe to this job alert:

Get the latest job offers by email for: java developer with devop (winnipeg) / winnipeg