Senior Java Software Engineer (Toronto)

Senior Java Software Engineer (Toronto)

16 Sep
|
PeoplePilot
|
Toronto

16 Sep

PeoplePilot

Toronto

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 solid 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.

📌 Senior Java Software Engineer (Toronto)
🏢 PeoplePilot
📍 Toronto

Reply to this offer

Impress this employer describing Your skills and abilities, fill out the form below and leave Your personal touch in the presentation letter.

Subscribe to this job alert:

Get the latest job offers by email for: senior java software engineer (toronto) / toronto

Subscribe to this job alert:

Get the latest job offers by email for: senior java software engineer (toronto) / toronto