
Enable job alerts via email!
Generate a tailored resume in minutes
Land an interview and earn more. Learn more
A leading global bank in Canada is seeking a highly skilled Sr Software (Java) Developer to design, develop, and maintain scalable software solutions. You will implement best practices in engineering, including test-driven and behavior-driven development, while collaborating with cross-functional teams. An ideal candidate has over 6 years of Java experience and a strong understanding of microservices architecture. This role offers a competitive salary within a dynamic and agile work environment.
Citi, the leading global bank, has approximately 200 million customer accounts and does business in more than 160 countries and jurisdictions. Citi provides consumers, corporations, governments, and institutions with a broad range of financial products and services, including consumer banking and credit, corporate and investment banking, securities brokerage, transaction services, and wealth management.
As a bank with a brain and a soul, Citi creates economic value that is systemically responsible and in our clients’ best interests. As a financial institution that touches every region of the world and every sector that shapes your daily life, our Enterprise Operations & Technology teams are charged with a mission that rivals any large tech company. Our technology solutions are the foundations of everything we do from keeping the bank safe, managing global resources, and providing the technical tools our workers need to be successful to designing our digital architecture and ensuring our platforms provide a first‑class customer experience. We reimagine client and partner experiences to deliver excellence through secure, reliable, and efficient services.
Our commitment to diversity includes a workforce that represents the clients we serve from all walks of life, backgrounds, and origins. We foster an environment where the best people want to work. We value and demand respect for others, promote individuals based on merit, and ensure opportunities for personal development are widely available to all. Ideal candidates are innovators with well‑rounded backgrounds who bring their authentic selves to work and complement our culture of delivering results with pride. If you are a problem solver who seeks passion in your work, come join us. We’ll enable growth and progress together.
The Sr Software (Java) Developer is responsible for establishing and implementing new or revised application systems and programs in coordination with the Technology team. The overall objective of this role is to lead applications systems analysis and programming activities.
We are looking for a highly skilled and hands‑on Software Engineer to drive modern engineering practices and technology transformation within our teams. You will play a critical role in designing, developing, and maintaining scalable, high‑quality software solutions while ensuring best‑in‑class engineering standards, including trunk‑based development, test automation, security, and modern ways of working.
This role requires deep expertise in system design, hands‑on coding, and strong problem‑solving skills to create resilient, high‑performing, and secure applications.
Design, develop, and maintain robust, scalable, and high‑performance applications.
Implement trunk‑based development practices to enable continuous integration and rapid delivery.
Develop clean, maintainable, and testable code following SOLID principles and software design best practices.
Ensure high levels of unit test coverage, test‑driven development (TDD), and behavior‑driven development (BDD).
Actively contribute to hands‑on coding, code reviews, and refactoring to maintain high engineering standards.
Drive the adoption of modern engineering ways of working, including Agile, DevOps, and CI / CD.
Advocate for automated testing, infrastructure as code, and continuous monitoring to enhance software reliability.
Apply Behavior‑Driven Development (BDD), Test‑Driven Development (TDD), and unit testing to ensure code quality and functionality.
Conduct thorough code reviews, ensuring adherence to best practices in readability, performance, and security.
Implement and enforce secure coding practices, performing vulnerability assessments and ensuring compliance with security standards.
Collaborate effectively in agile environments, embracing DevOps principles and fostering a culture of continuous delivery and improvement.
Partner with architects, product owners, and cross‑functional teams to design scalable and distributed systems.
Mentor junior engineers and foster a culture of engineering excellence and continuous learning.
Collaborate closely with DevOps teams to optimize deployments, observability, and production resilience.
Lead technical discussions, contribute to design documentation, and provide guidance on modern software architectures.
6+ years of strong hands‑on experience in coding (Java)
Deep expertise in system design and microservices architecture.
Experience with trunk‑based development, feature flags, and progressive delivery strategies.
Proficiency in TDD, BDD, and automation‑first mindset to ensure high test coverage and reliability.
Strong understanding of CI / CD pipelines, and DevOps practices.
Experience conducting code reviews, vulnerability assessments, and secure coding.
Familiarity with modern cloud‑native technologies (AWS, Kubernetes, Docker).
Excellent problem‑solving skills and ability to work in fast‑paced, agile environments.
Strong communication and collaboration skills.
Experience with event‑driven architecture and distributed systems.
Knowledge of performance tuning, observability, and production monitoring.
Familiarity with Agile frameworks and modern ways of working in product development.
Technology
Applications Development
Full time
$120, - $170,
Please see the requirements listed above.
For complementary skills, please see above and / or contact the recruiter.