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 transparent technical documentation, including architecture and design documentation, deployment procedures, operational runbooks, troubleshooting guides, and knowledge-
📌 Senior Java (Montreal)
🏢 CG
📍 Montreal