Job Title: Senior System Support Analyst
Location: Toronto, ON (hybrid)
Duration: 6-12 months (Possibility of extension)
Rate: CAD60-CAD70/hr
Position Summary
We are seeking highly skilled Senior Java Developers with strong hands-on software development experience to join a high-performing engineering team. This role is ideal for candidates who are passionate about coding, problem-solving, and building scalable enterprise applications. We are specifically looking for developers who possess deep expertise in Core Java, Multithreading, Concurrency, Spring Boot, and Event-Driven Architecture, with experience working in large enterprise environments, preferably within Banking and Financial Services.
This is a hands-on development role and is not intended for Technical Leads, Solution Architects, or people managers.
Key Responsibilities
- Design, develop, test, and maintain scalable backend applications using Java and Spring Boot.
- Build high-performance, concurrent, and multithreaded applications capable of handling large transaction volumes.
- Develop and support event-driven and distributed systems using messaging and streaming technologies.
- Write clean, efficient, and maintainable code following best practices and coding standards.
- Participate in architecture discussions and contribute to technical design decisions.
- Optimize application performance, reliability, and scalability.
- Collaborate with cross-functional teams including Product Owners, Architects, QA, and DevOps teams.
- Perform code reviews and contribute to continuous improvement initiatives.
- Troubleshoot complex production issues and implement sustainable solutions.
Required Skills & Experience
Core Java (Must Have)
- Strong backend Java development experience with 8+ years of hands-on coding.
- Expert knowledge of Core Java concepts including:
- Collections Framework
- Generics
- Exception Handling
- JVM Memory Management
- Design Patterns
- Performance Tuning
Multithreading & Concurrency (Highly Critical)
- Extensive experience with Java multithreading concepts.
- Strong understanding of:
- Thread creation and lifecycle
- Synchronization mechanisms
- Locks and concurrent processing
- Wait/Notify patterns
- Producer-Consumer patterns
- Deadlock prevention and troubleshooting
- Hands-on experience with Java Concurrency APIs:
- Executor Framework
- CompletableFuture
- Concurrent Collections
- Atomic Classes
- Fork/Join Framework
Spring Ecosystem
- Strong experience with:
- Spring Framework
- Spring Boot
- Spring MVC
- Spring Data
- Spring Security
- Experience building RESTful services and Microservices.
Event-Driven Architecture
- Experience designing and developing event-driven systems.
- Understanding of asynchronous processing, message-based communication, and distributed application design.
- Experience with Kafka is highly desirable.
Additional Technical Skills
- REST APIs & Microservices Architecture
- Relational Databases (Oracle, SQL Server, PostgreSQL, DB2, etc.)
- Unit Testing (JUnit, Mockito)
- CI/CD tools and DevOps practices
- Git, Maven/Gradle
- Cloud and Containerization experience is an asset
Preferred Background
- Strong preference for candidates from large enterprise environments.
- Experience supporting Banking and Financial Services organizations is highly preferred.
- Experience working with leading financial institutions, insurance companies, or large retail enterprises is considered a strong asset.
- Candidates should demonstrate strong problem-solving capabilities and be comfortable with rigorous technical and coding assessments.