Description
Role: Senior Full Stack Engineer
Location: Toronto, ON
Work Model: Onsite
Experience: 5+ Years
Role Overview
We are seeking a Senior Full Stack Engineer with strong hands-on experience in Java, Spring Boot, REST APIs, microservices, unit testing, and software engineering best practices.
The ideal candidate will have a strong focus on clean code, test-driven development, application security, code quality, and CI/CD automation, with exposure to modern frontend and cloud technologies.
Key Responsibilities
•
Design, develop, test, and maintain scalable Java applications, REST APIs, and microservices using clean code principles and established design patterns.
•
Develop modular, reusable, maintainable, and highly testable software components.
•
Write comprehensive unit tests using JUnit and Mockito and drive high-quality test coverage.
•
Apply Test-Driven Development (TDD) and continuous testing practices to improve reliability and prevent regressions.
•
Apply strong knowledge of Core Java, including collections, generics, streams, lambdas, concurrency, multithreading, exception handling, and JVM memory management.
•
Develop and maintain backend services using Spring/Spring Boot and RESTful API technologies.
•
Follow secure coding practices and incorporate security-by-design principles throughout the software development lifecycle.
•
Conduct code reviews, participate in pair programming, and enforce coding standards, SOLID principles, clean code, and design patterns.
•
Refactor legacy code and reduce technical debt while improving application performance, maintainability, and testability.
•
Integrate automated testing, static code analysis, code coverage, and security scanning into CI/CD pipelines.
•
Use tools such as SonarQube and JaCoCo to monitor and continuously improve code quality and test coverage.
•
Work closely with architects, business/application analysts, QA, operations, and other cross-functional teams in an Agile environment.
•
Troubleshoot and resolve complex application issues related to functionality, performance, security, and reliability.
•
Contribute to CI/CD automation using tools such as Jenkins, Maven/Gradle, Git, and Bitbucket.
•
Evaluate and adopt modern engineering practices, including AI-assisted development and developer experience tools, where they can improve productivity and software quality.
Required Skills & Experience
•
5+ years of professional software development experience with Java and/or Node.js across the full software development lifecycle.
•
Strong hands-on expertise in Core Java, including:
◦
Collections and Generics
◦
Streams and Lambdas
◦
Concurrency and Multithreading
◦
Exception Handling
◦
JVM memory management
•
Strong experience with Spring/Spring Boot, REST APIs, and microservices.
•
Proven experience developing effective unit tests using JUnit and Mockito or equivalent mocking frameworks.
•
Strong understanding of TDD, test automation, and continuous testing.
•
Strong knowledge of Clean Code, SOLID principles, design patterns, refactoring, and code quality practices.
•
Working knowledge of application security and secure coding practices, including OWASP Top 10.
•
Hands-on experience with SonarQube, JaCoCo, or similar code-quality and coverage tools.
•
Experience integrating automated testing, quality checks, and security gates into CI/CD pipelines, preferably using Jenkins.
•
Experience with Maven or Gradle and source control tools such as Git and Bitbucket.
•
Strong analytical, troubleshooting, problem-solving, communication, and technical documentation skills.
•
Ability to work effectively in a fast-paced, cross-functional Agile/Scrum environment.
Frontend / Full Stack Experience
•
Experience with modern UI technologies such as:
◦
React or Angular
◦
TypeScript / JavaScript
◦
HTML5 / CSS
•
Backend experience with Node.js is an added advantage.
Nice-to-Have Skills
•
Experience with AI-assisted development tools, such as GitHub Copilot.
•
Exposure to AI agents and agentic software development workflows.
•
Experience with Backstage or other developer portal/platform technologies.
•
Strong experience building and maintaining CI/CD pipelines and developer tooling.
•
Experience with Docker and Kubernetes.
•
Experience with AWS or other cloud platforms.
•
Experience with Jira and Confluence.
•
Experience working with developer experience/platform engineering initiatives.
•
Bachelor's degree or college diploma in Computer Science, Software Engineering, or a related technology discipline.
Key Technology Stack
Java | Spring Boot | REST APIs | Microservices | JUnit | Mockito | TDD | SonarQube | JaCoCo | Maven/Gradle | Git | Bitbucket | Jenkins | React/Angular | TypeScript | Node.js | Docker | Kubernetes | AWS | Backstage | GitHub Copilot