Senior Java Developer

at  CGI

Toronto, ON M5B 2L7, Canada -

Start DateExpiry DateSalaryPosted OnExperienceSkillsTelecommuteSponsor Visa
Immediate01 May, 2025Not Specified01 Feb, 20252 year(s) or aboveJava,Message Oriented Middleware,Collaborative Environment,Soft Skills,Communication Skills,Ee,Spring Boot,Computer Science,Analytical Skills,Mockito,Azure,Spring Security,Junit,Spring DataNoNo
Add to Wishlist Apply All Jobs
Required Visa Status:
CitizenGC
US CitizenStudent Visa
H1BCPT
OPTH4 Spouse of H1B
GC Green Card
Employment Type:
Full TimePart Time
PermanentIndependent - 1099
Contract – W2C2H Independent
C2H W2Contract – Corp 2 Corp
Contract to Hire – Corp 2 Corp

Description:

We are Canada’s largest independent information technology services firm, and after 45 years, we’re still growing! Join Canada’s largest IT Company as a ‘Senior Java Developer in our Banking Services Division.
We are seeking a highly skilled and experienced Senior Java Developer to join our dynamic team. In this role, you will be responsible for designing, developing, and maintaining robust and scalable APIs using Java and Spring Boot. You will work on cutting-edge technologies and methodologies, including event sourcing, CQRS, and reactive microservices, to deliver high-quality solutions.
This role is hybrid and requires you to be in our downtown Toronto office (250 Yonge Street) 2 - 3 times per week - subject to change at any time.

Preferred Qualifications:

  • Experience with continuous integration/continuous deployment (CI/CD) pipelines.
  • Familiarity with OpenTelemetry and Prometheus for monitoring and observability.
  • Experience with TDD/BDD and unit testing frameworks like JUnit, Mockito

Responsibilities:

YOUR FUTURE DUTIES AND RESPONSIBILITIES

  • API Design & Development: Design, develop, and maintain RESTful APIs using Java and Spring Boot, ensuring high performance and responsiveness.
  • Event Sourcing & CQRS: Implement event sourcing and Command Query Responsibility Segregation (CQRS) patterns to ensure scalable and resilient system architecture.
  • Message-Oriented Middleware: Develop and integrate with message-oriented middleware systems, ensuring efficient and reliable communication between distributed services.
  • Reactive Microservices: Design and implement reactive microservices architecture to handle asynchronous data streams and enhance system responsiveness.
  • Message Brokers: Work with message brokers, particularly Kafka, to build and maintain scalable messaging systems.
  • Asynchronous Programming: Utilize asynchronous programming techniques to optimize application performance and resource utilization.
  • Collaboration: Work closely with cross-functional teams, including DevOps, QA, and other development teams, to ensure seamless integration and deployment of microservices.

REQUIRED QUALIFICATIONS TO BE SUCCESSFUL IN THIS ROLE

  • Education: Bachelor’s or Master’s degree in Computer Science, Engineering, or a related field.
  • Experience: 5+ years of professional experience in Java development, with a strong focus on Spring Boot and API design.
  • Must have Technical Skills: Proficiency in Java, with a deep understanding of Java SE and EE. Extensive experience with Spring Boot and related frameworks (Spring Data, Spring Security, etc.). Strong understanding of event sourcing and CQRS patterns. Hands-on experience with message-oriented middleware and message brokers (e.g., Kafka, RabbitMQ). Experience in designing and developing reactive microservices using frameworks like Spring WebFlux. Proficiency in asynchronous programming and non-blocking I/O operations. Familiarity with cloud platforms (e.g., AWS, Azure) and containerization technologies (e.g., Docker, Kubernetes).

Preferred Qualifications:

  • Experience with continuous integration/continuous deployment (CI/CD) pipelines.
  • Familiarity with OpenTelemetry and Prometheus for monitoring and observability.
  • Experience with TDD/BDD and unit testing frameworks like JUnit, Mockito.

Soft Skills:
Excellent problem-solving and analytical skills. Strong communication skills and ability to work in a collaborative environment. Self-motivated and able to work independently with minimal supervision.

LI-BN


REQUIREMENT SUMMARY

Min:2.0Max:3.0 year(s)

Computer Software/Engineering

IT Software - System Programming

Software Engineering

Graduate

Computer Science, Engineering

Proficient

1

Toronto, ON M5B 2L7, Canada