16 Sep
|
PeoplePilot
|
Toronto
16 Sep
PeoplePilot
Toronto
Java / Node.js Software Developer
Roles and Responsibilities
Application Development
- Design, develop, and maintain high-quality, scalable, and maintainable Java applications and services using clean code principles and established design patterns.
- Build modular, reusable, and testable applications and RESTful APIs using Java.
- Develop microservices using frameworks such as Spring and Spring Boot.
- Apply core Java concepts, including:
- Collections
- Generics
- Streams and lambdas
- Exception handling
- Concurrency and multithreading
- JVM memory management
Testing & Quality Engineering
- Write comprehensive and meaningful unit tests using JUnit and Mockito to ensure code correctness, reliability, and maintainability.
- Apply Test-Driven Development (TDD) and continuous testing practices to drive good design and prevent regressions.
- Integrate automated unit testing, static code analysis, security scanning, 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.
- Champion engineering quality through code reviews, pair programming, coding standards, and best practices.
Security
- Embed security-by-design throughout the software development lifecycle.
- Follow secure coding standards and application security best practices.
- Identify and address security vulnerabilities early in the development process.
- Apply knowledge of application security principles, including the OWASP Top 10.
Code Improvement & Troubleshooting
- Refactor and improve existing codebases to reduce technical debt and enhance:
- Readability
- Performance
- Maintainability
- Testability
- Diagnose, troubleshoot, and resolve complex technical, performance, security, and reliability issues.
Collaboration & 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 effectively with technical and non-technical stakeholders.
Innovation
- Stay current with emerging technologies and development practices.
- Evaluate and adopt AI-assisted development and developer experience platforms to improve engineering quality, productivity, and delivery efficiency.
Skills Required
Core Technical Skills
- 5+ years of software development experience with Java and/or Node.js, covering the full application development lifecycle.
- Solid command of core Java, including:
- Collections
- Concurrency and multithreading
- Generics
- Streams and lambdas
- Exception handling
- JVM memory management
- Hands-on experience building RESTful APIs and microservices using Spring / Spring Boot.
- Strong understanding of clean code, SOLID principles, and design patterns.
Testing & Code Quality
- Proven experience writing effective unit tests using JUnit and mocking frameworks such as Mockito.
- Solid understanding of:
- Test-Driven Development (TDD)
- Test automation
- Continuous testing
- Regression prevention
- Experience with SonarQube, JaCoCo, static code analysis, code coverage, and security scanning.
DevOps & Development Tools
- Experience with build tools such as Maven or Gradle.
- Experience with source control systems such as Git and Bitbucket.
- Experience integrating automated tests, quality checks, and security gates into CI/CD pipelines.
- Experience with CI/CD tools such as Jenkins.
Front-End Skills
- Experience with modern UI technologies is preferred, including:
- React
- Angular
- TypeScript
- JavaScript
- HTML5
- CSS
Security
- Working knowledge of secure coding practices and application security fundamentals.
- Familiarity with security standards and vulnerabilities such as the OWASP Top 10.
Professional Skills
- Strong analytical and problem-solving abilities.
- Excellent communication and technical documentation skills.
- Ability to work collaboratively in a cross-functional Agile environment.
- Strong focus on software quality, reliability, security, and maintainability.
Nice to Have / Added Advantage AI & Developer Productivity
- Experience using AI-assisted development tools, such as GitHub Copilot, to accelerate coding and testing.
- Experience working with AI agents or agentic development workflows.
- Experience with Backstage and related developer portal technologies.
Backend & Architecture
- Experience with Node.js and backend API technologies.
- Experience designing and maintaining scalable backend services.
DevOps & Cloud
- Experience building and maintaining CI/CD pipelines and related tooling.
- Experience with containerization and orchestration technologies such as:
- Docker
- Kubernetes
- Experience with cloud platforms such as AWS.
Agile & Collaboration Tools
- Experience with Jira and Confluence.
- Practical experience working within Agile delivery methodologies.
Education
- University Degree or College Diploma in Computer Science, Software Engineering, or a related technology field.
📌 Full Stack Engineer (Toronto)
🏢 PeoplePilot
📍 Toronto