Open Systems Tech is looking for a Senior Java Developer for one of our financial services clients based out of Mississauga / ON. This is a time sensitive opportunity, please apply ASAP.
Job Title : Senior Java Developer
Location : Mississauga – Hybrid – 3 days / week
Term : Long term contract plus extension
Backend Development (Required) :
- Strong Core Java and functional programming experience.
- Understanding of concurrent and parallel programming, including threads, processes, synchronization, and handling race conditions.
- Must have deep understanding of information reporting and payments integration with ERP systems like QuickBooks, NetSuite, Xero etc.
- Should be able to build, debug and execute code in Oracle NetSuite native scripts.
- Able to build APIs using reactive programming, backpressure and handling complex concurrency scenarios.
- Apply machine learning libraries to Java applications, implementing model training and prediction pipelines.
- Strong knowledge of security protocols, asymmetric encryption, cryptographic hashing, PKI, IAM, Zero Trust Architectures (ZTA).
- Promote Enterprise Integration Patterns (EIPs) using tools like Apache Camel, Kafka, Rabbit MQ and Spring Integration.
- Use profiling tools to measure application performance and identify latency, memory leaks and CPU usage issues.
- Knowledge of JVM internals like garbage collection algorithms (G1, CMS, ZGC), memory heap management and JVM tuning.
- Mastery and deep knowledge of the Elastic Search and Kibana products are a must.
- Strong experience in data modeling and experience with relational and no-SQL database, Oracle and MongoDB.
- Understanding of integrating APIs with third party libraries / vendors and handle the security around it.
- Distributed Computing Concepts : Understanding the principles of distributed systems, including data partitioning, replication, and consistency models.
- Understanding of microservices architecture, including service discovery, API gateways, and inter-service communication.
- Knowledge of security practices in distributed systems, including encryption, authentication, authorization, and secure communication.
Other areas (Required) :
Exceptional Problem-Solving and Analytical Skills to diagnose and resolve issues in distributed environments.Above average skills in monitoring, logging, and debugging distributed systems to ensure reliability and performance.Expertise in fundamental concepts such as consistency, availability, partition tolerance, fault tolerance, and scalability.Familiarity with container orchestration (e.g., Kubernetes), and distributed messaging systems (e.g., Kafka).Experience using Git / BitBucket.Good communication skills, both written and verbal.Other areas (Good to have) :
Unix shell scripting.Knowledge of GraphQL.Experience with building apps which are highly performant and scalable will be great.Knowledge of Generating Artificial Intelligence (AI), Machine Learning (ML), and Large Language Models (LLMs).