Back to results

Senior Java Engineer

  • Toronto, ON, Canada

Full-time

Applications open in a new tab.

Job details

Job type
Full-time
Apply by
Experience
5+ years of software development experience in Java, spanning the full application development life cycle.
Posting language
English
Posted

Original job description

Role :: Senior Java Engineer

Location :: Toronto, ON– Onsite

Fulltime_ Permanent Role

Job Description

Roles and Responsibilities:

  • Design, develop, and maintain high-quality, maintainable Java applications using clean code principles and established design patterns.
  • Write comprehensive, meaningful unit tests using JUnit and Mockito to ensure code correctness, reliability, and long-term maintainability.
  • Apply test-driven development (TDD) practices to drive design, maximize coverage, and prevent regressions.
  • 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, and testability.
  • Apply core Java concepts - collections, concurrency and multithreading, generics, streams, exception handling, and JVM memory management - to build robust solutions.
  • 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.
  • Build modular, reusable, and testable applications and APIs (REST web services) in Java.
  • Collaborate with architects, business and application analysts, operations teams, and testing specialists to deliver reliable, secure, high-quality solutions.
  • Diagnose, troubleshoot, and resolve complex technical, performance, and reliability issues.
  • Ensure information security standards and requirements are incorporated into all solutions.
  • Stay current with emerging technologies, including AI-assisted development and automated test generation, and evaluate how they can improve quality and productivity.

Skills Required:

  • 5+ years of software development experience in Java, spanning the full application development life cycle.
  • Strong command of core Java concepts, including collections, concurrency/multithreading, generics, streams, lambdas, exception handling, and JVM memory management.
  • Proven, hands-on experience writing effective unit tests with JUnit and mocking frameworks such as Mockito.
  • Solid understanding of test-driven development (TDD), test automation, and continuous testing practices.
  • Deep commitment to code quality, clean code, SOLID principles, and design patterns.
  • Experience with static code analysis and code coverage tools such as SonarQube and JaCoCo.
  • Experience building RESTful APIs and microservices using frameworks such as Spring / Spring Boot.
  • Experience with build tools such as Maven or Gradle.
  • Experience with source code management tools such as Git and Bitbucket.
  • Experience integrating automated tests and quality checks into CI/CD pipelines (for example, Jenkins).
  • Strong analytical, problem-solving, communication, and technical documentation skills.
  • Ability to work effectively in a fast-paced, cross-functional Agile environment.
More about this job

Responsibilities

Design, develop, and maintain high-quality Java applications using clean code principles and TDD. Collaborate with cross-functional teams to build modular APIs and integrate automated quality gates into CI/CD pipelines.

Requirements

Requires over 5 years of Java development experience with strong expertise in core Java, Spring Boot, and unit testing frameworks. Candidates must be proficient in CI/CD tools and committed to SOLID principles and clean code.

Skills

  • Java
  • JUnit
  • Mockito
  • TDD
  • Spring Boot
  • REST APIs
  • Microservices
  • SonarQube
  • JaCoCo
  • Maven
  • Gradle
  • Git
  • Bitbucket
  • Jenkins
  • CI/CD
  • SOLID Principles

Visa sponsorship

Not detected in the job text

Categories

  • Software
  • Technology
  • Engineering

Keywords

  • Java
  • JUnit
  • Mockito
  • TDD
  • Clean Code
  • SOLID Principles
  • Design Patterns
  • JVM Memory Management
  • Concurrency
  • Multithreading
  • Streams
  • Lambdas
  • SonarQube
  • JaCoCo
  • REST Web Services
  • Spring
  • Spring Boot
  • Microservices
  • Maven
  • Gradle
  • Git
  • Bitbucket
  • Jenkins
  • CI/CD
  • Agile
  • Static Code Analysis
  • Unit Testing
  • Technical Debt
  • Information Security

Report this job