Role: Senior Full Stack Engineer
Location: Toronto, ON
Work Arrangement: Onsite
Role Overview
We are seeking a Senior Full Stack Engineer with strong hands-on experience in Java, Spring Boot, REST APIs, microservices, automated testing, and modern software engineering practices. The ideal candidate will have a strong focus on clean code, TDD, code quality, application security, CI/CD, and scalable application development, along with exposure to modern UI and AI-assisted development technologies.
Key Responsibilities
- Design, develop, test, and maintain scalable, secure, and high-quality Java applications, APIs, and microservices.
- Apply clean code principles, SOLID principles, design patterns, and software engineering best practices.
- Develop RESTful web services and backend applications using Java, Spring, and Spring Boot.
- Build modular, reusable, maintainable, and highly testable application components.
- Develop comprehensive unit and automated tests using JUnit and Mockito.
- Apply Test-Driven Development (TDD) and continuous testing practices to improve quality and prevent regressions.
- Leverage core Java concepts including collections, generics, streams, lambdas, exception handling, concurrency, multithreading, and JVM memory management.
- Conduct code reviews, participate in pair programming, and enforce coding standards and engineering best practices.
- Refactor legacy code and reduce technical debt while improving readability, performance, maintainability, and testability.
- Implement security-by-design practices throughout the software development lifecycle.
- Apply secure coding practices and address application vulnerabilities in accordance with OWASP and industry standards.
- Integrate unit testing, static code analysis, code coverage, security scanning, and quality gates into CI/CD pipelines.
- Use tools such as SonarQube and JaCoCo to monitor and continuously improve code quality and test coverage.
- Work with Maven or Gradle, Git, Bitbucket, and Jenkins as part of the development and delivery lifecycle.
- Diagnose and resolve complex technical, performance, security, production, and reliability issues.
- Collaborate with architects, business analysts, application analysts, QA/testing teams, and operations teams in a cross-functional Agile environment.
- Contribute to technical documentation, architecture discussions, design reviews, and continuous engineering improvements.
- Evaluate and adopt emerging technologies, including AI-assisted development and developer experience platforms, where they provide measurable engineering value.
Required Skills & Experience
- 5+ years of professional software development experience with strong expertise in Java and/or Node.js across the full software development lifecycle.
- Strong hands-on experience with Core Java, including:
- Collections
- Generics
- Streams & Lambdas
- Exception Handling
- Concurrency & Multithreading
- JVM Memory Management
- Strong experience developing RESTful APIs and microservices using Spring/Spring Boot.
- Hands-on experience writing effective unit tests using JUnit and Mockito or equivalent mocking frameworks.
- Strong understanding and practical application of TDD, test automation, and continuous testing.
- Strong knowledge of Clean Code, SOLID principles, design patterns, refactoring, and code quality practices.
- Experience with SonarQube, JaCoCo, static code analysis, code coverage, and security scanning.
- Experience with Maven or Gradle for build and dependency management.
- Strong experience with Git and Bitbucket.
- Experience integrating automated testing and quality/security gates into CI/CD pipelines, preferably using Jenkins.
- Working knowledge of secure coding practices and OWASP Top 10.
- Experience with modern frontend technologies such as React, Angular, TypeScript, JavaScript, HTML5, and CSS is preferred.
- Strong analytical, troubleshooting, problem-solving, communication, and technical documentation skills.
- Ability to work effectively in a fast-paced, Agile, cross-functional environment.
Nice to Have / Preferred Skills
- Experience with Node.js and backend JavaScript/TypeScript development.
- Experience with AI-assisted development tools, such as GitHub Copilot.
- Exposure to AI agents, agentic development workflows, or AI-powered developer tooling.
- Experience with Backstage or other developer portal/platform technologies.
- Experience designing and maintaining CI/CD pipelines and developer tooling.
- Experience with Docker and Kubernetes.
- Experience with AWS or other cloud platforms.
- Experience with Jira, Confluence, and Agile delivery methodologies.
- Experience with modern developer experience and engineering productivity platforms.
- University Degree or College Diploma in Computer Science, Engineering, or a related technology discipline.
Key Technical Keywords
Java, Core Java, Spring Boot, Spring, REST APIs, Microservices, JUnit, Mockito, TDD, Test Automation, Clean Code, SOLID, Design Patterns, SonarQube, JaCoCo, Maven, Gradle, Git, Bitbucket, Jenkins, CI/CD, OWASP, Secure Coding, React, Angular, TypeScript, JavaScript, Node.js, Docker, Kubernetes, AWS, Backstage, GitHub Copilot, AI Agents, Agile.