Our clients are unique and their digital banking experience should be one-of-a-kind. At RBC Digital, we want our clients to feel empowered when they interact with us. We’re investing in technologies and data insights to evolve as our clients do. We’ve joined our product, design and technology teams to collaborate to deliver an innovative personalized user experience. Being a part of our Digital Team means you’ll join a culture of creativity, curiosity, and continuous learning.
We’re envisioning the future of banking and building the core platforms to support it. The RBC Digital Technology team is focused on understanding our client’s needs to deliver scalable automated solutions. Our technologists design, develop and support the services we own. We’re building a team who is not afraid to challenge the status quo; embraces innovation; and excited to bring a fresh perspective. We’ve set out to simplify our client’s interactions by building a unified platform, custom tailored to our client’s needs.
We’re looking for a talented and passionate Lead Developer to join our team. Our team is designed to deliver products throughout the client’s journey, not projects; each squad is setup for agility and continuous delivery, and then empowered with the autonomy to chart their own course to success. As an engineer you will work as part of a small, autonomous, agile team to deliver both internal and external applications; built on a modern hybrid cloud platform using the latest micro-services architecture. We believe in the power of working together, you’ll get to work with your peers, business partners and RBC’s tech community and you’ll have the opportunity to grow and expand your capabilities. Join our team today and magnify your impact influencing the future of banking on a global scale.
What will you do?
- 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
What do you need to succeed?
- B.S. degree in Computer Science or related technical field with equivalent practical experience.
- 3+ years experience with Java 8+ and Spring Framework (Spring Boot) and/or nodeJS
- 2+ years 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 React) 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
- Object Oriented coding practices, including strong design patterns knowledge, refactoring, clean code.
- Experience working with Kafka, MySQL, Non-relational databases, Caching and
- 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)