Position Description: The Client Reporting team owns a suite of distributed software applications that generate and deliver over 3.9 million reports daily to clients. These reporting capabilities are also offered as a service to external clients. A core component of this platform is Report Explorer, an external-facing web portal that enables clients to securely view and download reports. Report Explorer supports multiple key businesses and serves as the primary report-hosting solution across these groups. It receives 15,000+ external client visits daily and is the most frequently accessed screen in Matrix. The candidate will be part of a new and dynamic team that is being built up in the Montreal office of Client. You will contribute to the design, development, and ongoing enhancement of large-scale, distributed frontend and backend systems. The platform spans microservices, middleware, web applications, and infrastructure components, supporting high availability, security, and performance at scale. Responsibilities:
▪ Design, develop, enhance, and support distributed, multi-tier applications.
▪ Apply strong object-oriented design (OOD), algorithms, and programming skills to build scalable systems.
▪ Collaborate closely with internal teams, external clients, and end users to understand requirements and deliver solutions.
▪ Participate in system integration efforts, requirements analysis, and platform evolution.
▪ Contribute to the modernization of the platform, including adoption of:
• Containerization and orchestration technologies (Docker, Kubernetes)
• Distributed coaching and messaging systems (Redis, Kafka)
• Emerging GenAI and LLM-based capabilities
▪ Operate within Agile methodologies to maximize productivity and client satisfaction Qualifications: Skills Required:
▪ Strong programming experience in Java and Spring (5+ years).
▪ Solid working knowledge of Unix/Linux environments, APIs, and shell scripting.
▪ Experience with distributed systems, algorithms, web services, and multi-threaded applications.
▪ Proficiency with relational databases (Sybase or other RDBMS), including complex stored procedures.
▪ Hands-on experience using Redis as a distributed cache.
▪ Good understanding of frontend technologies: modern JavaScript frameworks (React or Angular).
▪ Strong troubleshooting and problem-solving abilities.
▪ Clear verbal and written communication skills.
▪ A collaborative mindset and ability to work effectively as part of a team. Skills Desired:
▪ Service-oriented architecture (SOA) and messaging systems (IBM MQ Series).
▪ Web and integration technologies such as Spring MVC, CXF, Servlets.
▪ Container and platform technologies: Docker / Podman, Kubernetes.
▪ Datastores: PostgreSQL, MongoDB, and event streaming with Kafka.
▪ Security technologies including Secure Credentials Vault (SCV), mTLS/TLS, and OIDC.
▪ JVM performance monitoring and tuning tools.
▪ Scripting and automation with Python, Bash, or Perl.
▪ Exposure to GenAI tools, LLMs, or agentic AI frameworks.
Minimum 3+ years of experience
Required Skills:
- • Ability to write robust and maintainable code in Core Java and Python.
- • Effective troubleshooting skill across Code, O/S, network, and storage and hardware
- • Strong communication and interpersonal skills
Desired Skills:
- • Good knowledge and experience of using container orchestration system like Kubernetes, container tooling like podman
- • Experience with Agile development methodology and tools like GIT, Jira, BitBucket and Jenkins
- • Familiarity with web technologies like Spring, React, HTTP, JavaScript, Angular .
- • Familiarity with data technologies like DB2, Sybase or Postgres and Mongo
- • Familiarity with Cloud/Azure/AWS
- Familiarity with Linux, Shell scripts
- • Experience working in a large, multi-national enterprise in any industry vertical, showing experience of communicating and collaborating in globally distributed teams.