Back to results

Senior Java Developer – TDD, JUnit, CI/CD & Code Quality

  • Toronto, ON, Canada

Contract

Applications open in a new tab.

Job details

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

Original job description

  1. Senior Java Developer – TDD, JUnit, CI/CD & Code Quality

    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.

    Nice to Have (Added Advantage):

    • Experience using AI-assisted development tools (for example, GitHub Copilot) to accelerate coding and testing.
    • Experience with AI-powered or automated unit test generation frameworks (for example, Diffblue Cover, EvoSuite, or similar) is a strong added advantage.
    • Experience with integration, performance, and contract testing tools.
    • Experience with containerization and orchestration technologies such as Docker and Kubernetes.
    • Experience with cloud platforms such as AWS.
    • Knowledge of security scanning tools such as SonarQube, JFrog Xray, or similar.
    • Experience with Jira, Confluence, and Agile delivery practices.
    • University Degree or College Diploma in Computer Science or a related technology field.
    • Knowledge of the financial and insurance industries.

More about this job

Responsibilities

The Senior Java Developer at Astra North Infoteck will build and maintain clean, well-tested Java applications, write unit tests and apply test-driven development. The role also reviews code, refactors legacy code, and works with teams to resolve technical and performance issues.

Requirements

Candidates need 5+ years of Java development experience, strong core Java skills and hands-on unit testing with JUnit and Mockito. Experience with Spring Boot REST APIs, Maven or Gradle, Git, and CI/CD pipelines such as Jenkins is also required.

Skills

  • Java
  • JUnit
  • Mockito
  • Test-driven development (TDD)
  • Unit testing
  • SonarQube
  • JaCoCo
  • Spring
  • Spring Boot
  • RESTful APIs
  • Microservices
  • Maven
  • Gradle
  • Git
  • Bitbucket
  • Jenkins
  • CI/CD
  • Static code analysis
  • Code review
  • Refactoring
  • SOLID principles
  • Design patterns
  • Concurrency and multithreading
  • Java streams and lambdas
  • JVM memory management

Categories

  • Software
  • Technology
  • Finance & Accounting
  • Insurance

Keywords

  • Java
  • Senior Java Developer
  • JUnit
  • Mockito
  • Test-driven development
  • TDD
  • CI/CD
  • SonarQube
  • JaCoCo
  • Spring Boot
  • REST API
  • Microservices
  • Maven
  • Gradle
  • Git
  • Bitbucket
  • Jenkins
  • Code quality
  • Unit testing
  • Agile

Seniority

Senior

Tools

  • Java
  • JUnit
  • Mockito
  • SonarQube
  • JaCoCo
  • Spring Boot
  • Maven
  • Gradle
  • Git
  • Bitbucket

Languages

  • English

Report this job

Get in touch
MovoJobs

Contact us