Lead Software Developer
RBC
Job Description
What is the Opportunity?
Our clients are unique and their digital banking experience should be one‑of‑a‑kind. We want our clients to feel empowered when they interact with us. We invest in technologies and data insights to evolve with our clients.
We join product, design and technology teams to collaborate to deliver an innovative personalized user experience. Being part of our team means joining a culture of creativity, curiosity, and continuous learning.
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?
Must Haves
- 5+ years’ experience with Java 8+, Angular 7+, Spring Framework (Spring Boot) and/or NodeJS.
- 5+ 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, GitHub Actions/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 release processes.
- Working knowledge of web‑based application architectures and frameworks (including Angular or React) and how 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.
Nice‑to‑have
- Object‑oriented coding practices, including strong design patterns knowledge, refactoring, clean code.
- Experience working with Kafka, MySQL, non‑relational databases, 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); message‑driven architectures (Kafka); micro‑service design and implementation (load balancing, discovery, resiliency).
What’s in it for you?
- A comprehensive Total Rewards Program including bonuses and flexible benefits, competitive compensation, commissions, and stock where applicable.
- Leaders who support your development through coaching and managing opportunities.
- Work in a dynamic, collaborative, progressive, and high‑performing team.
- A world‑class training program in financial services.
- Flexible work/life balance options.
- Opportunities to take on progressively greater accountabilities.
- Access to a variety of job opportunities across business and geographies.
Job Skills
Active Learning, Agile Methodology, Application Integrations, Detail‑Oriented, Emerging Technologies, Enterprise Application Delivery, Group Problem Solving, Programming Languages, Software Development Life Cycle (SDLC).
#J-18808-Ljbffr