Job Title: Senior Java Software Engineer - Financial Services
Location: Montreal, Quebec (Onsite)
About the Role:
We're seeking a highly skilled Senior Java Software Engineer to join our dynamic team working on complex financial service systems that serve millions of customers worldwide. You will play a critical role across enterprise architecture, risk technology, and investment banking (IB)-facing applications. This role demands strong expertise in core Java technologies, scalable distributed systems, and modern cloud platforms.
Key Responsibilities:
- Design, develop, and maintain high-performance, scalable financial applications using Core Java, Spring Boot, and Hibernate.
- Build and integrate RESTful APIs and microservices within distributed systems architecture.
- Collaborate with cross-functional teams practicing Agile methodologies to deliver high-quality software continuously using CI/CD pipelines and DevOps tools.
- Implement messaging solutions using Kafka or other enterprise messaging frameworks to handle real-time data streams.
- Optimize application performance, ensure system scalability and high availability in a demanding production environment.
- Drive best practices around automated testing (TDD/BDD), including JUnit and Cucumber test frameworks.
- Contribute to architectural decisions focusing on robustness and risk mitigation in enterprise financial systems.
- Leverage cloud services (AWS, Azure, or GCP) to deploy and manage resilient cloud-native applications.
Required Skills & Experience:
- Strong expertise in Core Java (Java 8+) with solid understanding of JVM internals.
- Extensive experience with Spring Boot, Hibernate ORM.
- Proven background designing and developing REST APIs and microservices architectures.
- Hands-on experience with Kafka or similar event streaming platforms.
- Familiarity with cloud platforms such as AWS, Azure, or GCP, including deployment and monitoring.
- Adept in Agile software delivery and CI/CD automation.
- Strong knowledge of TDD/BDD with JUnit and Cucumber frameworks.
- Experience with performance tuning and ensuring high availability in large scale systems.
- Background in financial services technology, risk systems, or investment banking applications is highly advantageous.
- Full-working proficiency in English (written and verbal)
Preferred Qualifications:
- Bachelor's or Master's degree in Computer Science, Engineering, or related field.
- Experience with containerization (Docker, Kubernetes) and cloud-native architectures.