Senior Java Engineer – Spring Boot / Microservices / Distributed Systems
Location: On-site at client location, Montreal, Canada
Employment Type: Contract or Full-Time
Practice: Digital Experience
About the Role
Prolifics is seeking a Senior Java Developer to join our Digital Experience Practice. The successful candidate will be a hands-on technologist with a strong background in enterprise-level application development and modern distributed system design.
This role requires a blend of coding excellence, system design expertise, and client-facing communication skills. You will work closely with other technologists and business users to deliver scalable, high-performance digital solutions across industries.
If you thrive in the energetic atmosphere of short- and long-term, high-profile projects and enjoy the freedom of consulting engagements, we want to connect with you.
Key Responsibilities
- Design, develop, and maintain scalable Java / Spring Boot applications for enterprise systems.
- Apply object-oriented and SOLID design principles to produce clean, maintainable, and reusable code.
- Implement multi-threaded and concurrent applications, ensuring performance, safety, and scalability.
- Develop and integrate RESTful APIs, event-driven, and message-driven microservices (Kafka, JMS, etc.).
- Collaborate with architects and DevOps teams to containerize and deploy applications (Docker, Kubernetes).
- Participate in code reviews, refactoring efforts, and design discussions to improve overall quality.
- Contribute to CI/CD pipelines, automated builds, and testing frameworks.
- Mentor junior developers and engage in client-facing solution discussions as needed.
Required Skills & Qualifications
- 5–7 years of professional experience developing enterprise-grade applications.
- Deep understanding of Java (8 or above), Spring / Spring Boot, and microservice architecture.
- Strong grasp of OOP principles, SOLID design patterns, and common refactoring techniques (e.g., addressing “God class” and tight coupling).
- Proven experience implementing multi-threaded, asynchronous, and concurrent applications.
- Hands-on experience with distributed technologies such as Kafka, RabbitMQ, or distributed caching (Redis, Hazelcast, etc.).
- Familiarity with Agile development practices and modern CI/CD tools (Jenkins, GitHub Actions, Azure DevOps, GitLab CI).
- Working knowledge of unit testing frameworks (JUnit, Mockito, Testcontainers) and experience building robust automated test suites.
- Understanding of Docker and container orchestration concepts.
- Proficiency with SQL and relational databases; familiarity with NoSQL or cloud-native databases is an asset.
- Excellent communication and collaboration skills with the ability to work directly with clients in a consulting capacity.
Preferred / Nice-to-Have
- Exposure to cloud platforms (Azure, AWS, or GCP) — deployment, scaling, and service integration.
- Familiarity with Spring Security, Resilience4j/Hystrix, and Saga / event-driven transaction patterns.
- Experience implementing API Gateway solutions and rate-limiting or routing strategies.
- Knowledge of performance tuning, memory analysis, and profiling tools.
Assessment Process
Candidates should expect:
• A hands-on coding session (LeetCode-style small/medium algorithm problems).
• A technical discussion covering Java fundamentals, object-oriented design, multithreading, and Spring microservices architecture.
• An optional discussion of DevOps practices, testing strategy, and cloud deployment approaches.
Over 40 Years of Excellence
Prolifics helps organizations leverage digital technology solutions to innovate and compete while optimizing costs and operational agility. For more than 40 years, Prolifics has transformed enterprises of all sizes—including over 100 Fortune 1000 companies—by solving their complex IT challenges.