Back to results

Senior Java Software Engineer

  • Toronto, ON, Canada

$100,000 to $120,000 CAD / year · Full-time

Applications open in a new tab.

Job details

Pay
$100,000 to $120,000 CAD / year
Job type
Full-time
Apply by
Experience
5+ years of software development experience using Java across the full application development life cycle.
Posting language
English
Posted

Original job description

Roles and Responsibilities

Software Development

  • Design, develop, and maintain high-quality, maintainable Java applications using clean code principles, SOLID principles, and established design patterns.
  • Build modular, reusable, and testable Java applications and RESTful APIs.
  • Develop microservices using frameworks such as Spring and Spring Boot.
  • Apply strong knowledge of core Java, including:
  • Collections
  • Concurrency and multithreading
  • Generics
  • Streams and lambdas
  • Exception handling
  • JVM memory management

Testing and Quality Engineering

  • Write comprehensive and meaningful unit tests using JUnit and Mockito to ensure code correctness, reliability, and maintainability.
  • Apply Test-Driven Development (TDD) practices to drive software design, maximize test coverage, and prevent regressions.
  • Integrate automated unit testing, static code analysis, and quality gates into CI/CD pipelines.
  • Use tools such as SonarQube and JaCoCo to measure, enforce, and continuously improve code quality and test coverage.
  • Evaluate and adopt automated testing and AI-assisted test-generation techniques where appropriate.

Code Quality and Technical Excellence

  • Champion code quality through thorough code reviews, pair programming, and adherence to coding standards and best practices.
  • Refactor and improve existing codebases to reduce technical debt and enhance readability, performance, maintainability, and testability.
  • Diagnose, troubleshoot, and resolve complex technical, performance, and reliability issues.
  • Promote clean code, SOLID principles, design patterns, and engineering best practices across development activities.

Collaboration and Delivery

  • Collaborate with architects, business and application analysts, operations teams, and testing specialists to deliver reliable, secure, and high-quality solutions.
  • Work effectively within a fast-paced, cross-functional Agile environment.
  • Contribute to technical documentation and communicate technical concepts effectively to both technical and non-technical stakeholders.

Security and Continuous Improvement

  • Ensure information security standards and requirements are incorporated into all software solutions.
  • Stay current with emerging technologies, including AI-assisted development and automated test generation.
  • Evaluate new tools and technologies to improve software quality, engineering productivity, and delivery efficiency.

Required Skills and Qualifications

Professional Experience

  • 5+ years of software development experience using Java across the full application development life cycle.
  • Hands-on experience designing, developing, testing, deploying, and maintaining enterprise applications.

Java and Application Development

  • Strong command of core Java concepts, including:
  • Collections
  • Concurrency and multithreading
  • Generics
  • Streams and lambdas
  • Exception handling
  • JVM memory management
  • Experience building RESTful APIs and microservices using Spring/Spring Boot.
  • Strong understanding of clean code, SOLID principles, and design patterns.

Testing and Code Quality

  • Proven hands-on experience writing effective unit tests using JUnit and mocking frameworks such as Mockito.
  • Strong understanding of Test-Driven Development (TDD), test automation, and continuous testing practices.
  • Experience with static code analysis and code coverage tools such as SonarQube and JaCoCo.
  • Understanding of code quality gates and automated quality checks within CI/CD environments.

Build, Source Control, and CI/CD

  • Experience with build and dependency-management tools such as Maven or Gradle.
  • Experience with source code management tools such as Git and Bitbucket.
  • Experience integrating automated tests, code quality checks, and quality gates into CI/CD pipelines, such as Jenkins.

Professional Skills

  • Strong analytical and problem-solving abilities.
  • Excellent communication and technical documentation skills.
  • Ability to work effectively in a collaborative, cross-functional Agile environment.

Nice to Have / Added Advantage

AI-Assisted Development and Testing

  • Experience using AI-assisted development tools such as GitHub Copilot to accelerate coding, testing, and software development activities.
  • Experience with AI-powered or automated unit test-generation frameworks such as Diffblue Cover, EvoSuite, or similar technologies.

Advanced Testing

  • Experience with integration, performance, and contract testing tools.
  • Knowledge of automated testing strategies beyond unit testing.

Cloud and DevOps

  • Experience with containerization and orchestration technologies such as Docker and Kubernetes.
  • Experience with cloud platforms such as AWS.
  • Knowledge of security and vulnerability scanning tools such as SonarQube, JFrog Xray, or similar technologies.

Agile and Collaboration Tools

  • Experience with Jira, Confluence, and Agile delivery practices.

Education

  • University Degree or College Diploma in Computer Science, Software Engineering, or a related technology field.

Industry Experience

  • Knowledge or experience in the financial services and/or insurance industries.
More about this job

Responsibilities

Design, develop, and maintain high-quality Java applications and microservices using clean code and SOLID principles. Ensure software reliability through comprehensive unit testing, TDD, and integration into CI/CD pipelines.

Requirements

Requires 5+ years of Java development experience with strong expertise in Spring Boot, RESTful APIs, and automated testing frameworks. A university degree in Computer Science or a related field is required.

Skills

  • Java
  • Spring Boot
  • Microservices
  • RESTful APIs
  • JUnit
  • Mockito
  • TDD
  • SonarQube
  • CI/CD
  • Maven
  • Gradle
  • Git
  • Docker
  • Kubernetes
  • AWS
  • Agile

Visa sponsorship

Not detected in the job text

Categories

  • Software
  • Technology
  • Engineering
  • Data & Analytics
  • Finance & Accounting

Keywords

  • Java
  • Spring
  • Spring Boot
  • Microservices
  • RESTful APIs
  • SOLID Principles
  • Clean Code
  • JUnit
  • Mockito
  • TDD
  • SonarQube
  • JaCoCo
  • CI/CD
  • Jenkins
  • Maven
  • Gradle
  • Git
  • Bitbucket
  • GitHub Copilot
  • Diffblue Cover
  • EvoSuite
  • Docker
  • Kubernetes
  • AWS
  • Jira
  • Confluence
  • Agile
  • Financial Services
  • Insurance
  • JVM

Report this job