Show more filters
Banner image for PeoplePilot

Senior Java Software Engineer

PeoplePilot

3.7
9 reviews
PeoplePilot
Job Type   /   Job Level
Full-time   /   Senior Executive
Job Location
Toronto, Ontario, Canada
Salary Range
CAD 100,000 - CAD 120,000 (Annually)
A free Jobstore account is required to proceed to the employer site.

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.


A free Jobstore account is required to proceed to the employer site.
Jobs in Canada   »   Jobs in Ontario   »   Jobs in Toronto   »   Senior Java Software Engineer

More jobs

People also search