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. Solid 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 , in
📌 Senior Java (Winnipeg)
🏢 CG
📍 Winnipeg