Summary
✨ AI‑Generated
A senior Java development role focused on designing, developing, and maintaining robust, maintainable applications. You will apply clean code principles and established design patterns, write comprehensive unit tests with JUnit and Mockito, practice TDD, participate in code reviews and pair programming, and refactor legacy code to improve readability, performance, and testability. The role also requires strong knowledge of core Java concepts including collections, concurrency, multithreading, generics, streams, exception handling, and JVM memory management, along with integrating automated testing and static analysis into CI/CD pipelines.
Highlights
Opportunity to work on high-quality Java applications with a strong focus on clean code, automated testing, TDD, code quality, maintainability, and continuous improvement. The role emphasizes modern engineering practices, collaboration, and reducing technical debt.
Description
Sr.
Java Developer
Full Time
Toronto, ON
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.