We are hiring for the
Top-Notch leading bank of Canada
for a senior software developer role, you will work with developers to develop and maintain services for integration with both external vendor application and internal Banking systems. We are looking for top notch software engineers who are great team players and obsessive about the quality of their code and delivered service. This role requires someone who can roll up their sleeves while developing their future career opportunities. The role requires a highly skilled individual with a strong background in software development, cloud-based distributed systems, and production support. You will be the application custodian who will work closely with cross-functional teams to design, develop, and maintain robust solutions while adhering to best practices in software engineering and DevOps.
Job Location- Downtown, Toronto
Work Arrangements- Hybrid (4 days from office) + 1 day Remote
Job Type- Contract (with possible extension)
Job Industry: Banking
What will you do?
Work within an Agile product team comprised of technical, product, business team members and external vendor to deliver exceptional products
Work closely with downstream teams and external vendor and come up with integration design
Collaborate with other developers on the team to model and design API interfaces.
Guide, coach, and mentor team to drive optimal performance from team members
Establish and maintain strong relationships with product and engineering leads and provide point of escalation and resolution production support
Collaborate with SRE to drive resiliency and operational excellence into VAM/LMS platform.
Develop and support highly scalable, high performance APIs within an Agile development team
Ensure high code quality through automated unit and functional testing
You will actively seek out knowledge about new technologies and how they can be used to solve current and foreseeable challenges
Excellent communication including the ability to distill technical details into human terms
What do you need to succeed?
Must Have:
5+ years’ experience with Java 8+ and Spring Framework (Spring Boot) and/or node.js
5+ years’ experience developing distributed cloud applications (Azure, OpenShift, Docker)
Hands on experience designing, developing, testing and troubleshooting RESTful API and interface specifications (Swagger, RAML, SOAP)
Experience working with DevOps pipelines (Git, Maven, Jenkins), continuous integration/delivery, automated testing (unit, functional, performance)
Experience working with security gateways and protocols (JWT, Oauth2.0, SSL Certificates)
Experience working within professional software engineering practices for the full software development life cycle, including coding standards, code reviews, source code management, build processes and testing
Experience with code merging and branching methodologies Proficient in using Git and code release process.
Leverage Open-Source technology and contribute to open source where possible
Experience supporting production-level software (Splunk, Dynatrace).
Solid experience with abstraction and applying it to learning new languages
Ability to simplify complex problems and communicate them in plain language
Strong debugging, problem-solving and analytical skills.
Nice-to-have:
2+ years’ experience with JavaScript
Working knowledge of web-based application architectures and frameworks (including Angular or React) and the way it integrates with services
Object Oriented coding practices, including strong design patterns knowledge, refactoring, clean code
Experience working with Kafka, Azure Service Bus, SQL/NoSQL and Caching
Experience in BDD and TDD methodologies
Working experience in one or more of:
algorithm design and optimization
large-scale systems
parallel or distributed systems
RDBMS and/or modern scale-out repositories (MySQL, MongoDB, Redis)
Experience building message driven architectures (Kafka)
Micro-service design and implementation (load balancing, discovery, resiliency)