Posted in

Senior Back End Developer

Senior Back End Developer

CompanyRoyal Bank of Canada
LocationToronto, ON, Canada
Salary$Not Provided – $Not Provided
TypeFull-Time
DegreesBachelor’s
Experience LevelSenior

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)