Senior Back End Developer
Company | Royal Bank of Canada |
---|---|
Location | Toronto, ON, Canada |
Salary | $Not Provided – $Not Provided |
Type | Full-Time |
Degrees | Bachelor’s |
Experience Level | Senior |
Requirements
- B.S. degree in Computer Science or related technical field (e.g. EE, physics or mathematics), or equivalent practical experience.
- +3 years of professional experience with Java 17+ and Spring Framework (Spring Boot)
- +2 years of experience developing distributed cloud applications (Pivotal Cloud Foundry, 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 using Git and code release process.
- Working knowledge of web-based application architectures and frameworks (including Angular or AngularJS) and the way it integrates with services.
- 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.
Responsibilities
- You will be creating new services and customer-facing applications using the latest technologies which will shape the future of banking for RBC
- Collaborate with other developers on the team to model and design new API interfaces
- Develop and support highly scalable, high-performance APIs within an Agile development team
- Ensure high code quality through automated unit and functional testing
- Automate processes within the development pipeline; identify opportunities for efficiency gains and reducing time-to-market, and enabling continuous delivery
- Design and develop code structures to promote reusability across many applications
- Work within an agile product team comprised of technical, product and business team members to deliver exceptional products.
- Lead and mentor other developers to elevate the entire team’s skillset and mindset. Coach others on the team and practice peer-programming.
- Stay open-minded and look beyond your stack to solve complex problems
- 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.
Preferred Qualifications
- Object Oriented coding practices, including strong design patterns knowledge, refactoring, clean code.
- Experience working with Kafka, MySQL, Non-relational databases, Caching
- Experience working with BPMN tools like Camunda, Pega, or others
- Experience in BDD and TDD methodologies
- Experience in mortgage banking space.
- 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)