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.
Your future duties and responsibilities
- API Design & Development : Design, develop, and maintain RESTful APIs using Java and Spring Boot, ensuring high performance and responsiveness.
- 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.
- 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.
- 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 Web Flux.
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).
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.
Preferred Qualifications :
- Experience with continuous integration / continuous deployment (CI / CD) pipelines.
- Familiarity with Open Telemetry and Prometheus for monitoring and observability.
- Experience with TDD / BDD and unit testing frameworks like JUnit, Mockito.