Archived listing. The details below describe a past opening.
Role: Senior Software Engineer
Type: Contract
Location: Toronto (Hybrid)
Role Overview:
We are seeking a Senior Java Developer with strong expertise in Core Java, particularly multithreading and concurrency, to build and enhance framework solutions used across multiple payments teams. The ideal candidate should possess deep knowledge of low-level Java concepts and be capable of developing scalable, high-performance applications in concurrent environments.
Key Responsibilities
- Design and develop framework components and backend services used by multiple teams.
- Build high-performance, scalable solutions using Core Java and Spring technologies.
- Implement and optimize multithreaded and concurrent applications.
- Contribute to event-driven architectures and asynchronous processing solutions.
- Troubleshoot and resolve complex performance and concurrency-related challenges.
Required Skills:
- Strong expertise in Core Java with a deep understanding of object-oriented programming, collections, memory management, and JVM fundamentals.
- Hands-on experience in Java Multithreading, including thread creation, synchronization, inter-thread communication, thread coordination, and concurrent execution patterns.
- Extensive knowledge of Java Concurrency APIs such as Executor Framework, CompletableFuture, Atomic classes, Locks, and Concurrent Collections.
- Strong development experience with Spring Framework and Spring Boot for building scalable, high-performance backend applications and services.
- Experience designing and implementing Event-Driven Architectures using asynchronous processing and messaging patterns.
- Proven ability to develop and optimize framework-level or platform-level solutions, with strong focus on performance, scalability, thread safety, and reliability in high-throughput environments.
- Must be willing and available to attend in-person interviews as part of the hiring process.