06 Sep
|
Recutify
|
Montreal
Position: Java Developer
Location: Montreal, QC
Duration: 12 Months
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.
- Robust 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.
📌 Java Developer (Montreal)
🏢 Recutify
📍 Montreal