Java Developer (3 to 15 years)
Location: Montreal Quebec Canada H3C 2N6
Work Mode: Day 1 onsite hybrid 3 days in office mandatory.
Job Type: Full-Time Permanent
Software Development:
- Develop maintain and enhance enterprise-level Java applications.
- Leverage the Spring Framework (Spring Boot Spring Data Spring Security) to build scalable and secure solutions.
- Write efficient high-performance SQL queries and optimize database interactions.
- Develop multi-threaded applications to handle concurrent operations.
Test-Driven Development (TDD):
- Write clean testable code following TDD principles.
- Develop and maintain robust unit tests and integration tests.
- Ensure code quality through automated testing and peer code reviews.
Domain-Specific Solutions:
- Collaborate with business analysts and stakeholders to translate financial domain requirements into technical specifications.
- Work on financial systems such as trading platforms risk management tools and settlement systems.
- Optimize applications for performance and low latency critical for investment banking operations.
Collaboration & Leadership:
- Collaborate with DevOps QA and product teams to ensure seamless delivery.
- Contribute to technical discussions.
Continuous Improvement:
- Stay updated on emerging technologies and best practices in financial technology.
Must-Have:
- 3 to 5 years of hands-on experience in Java development.
- Proficiency in Spring Framework (Spring Boot Spring MVC Spring Security).
- Advanced knowledge of SQL and database performance tuning.
- Expertise in Test-Driven Development (TDD) and writing unit/integration tests.
- Strong experience with multi-threading concurrent programming and low-latency systems.
- Solid understanding of object-oriented programming (OOP) design patterns and architectural principles.
- Excellent problem-solving skills and attention to detail.
Preferred:
- Prior experience in the investment banking domain or financial services.
- Familiarity with FIX protocol trading platforms or risk management systems.
- Knowledge of messaging systems like Kafka RabbitMQ or ActiveMQ.
- Experience with performance profiling and optimization tools.
- Exposure to Agile/Scrum methodologies.