Skip to main content

Careers

Senior Java Developer

Job Req ID 25856075 Location(s) Mississauga, Canada Job Type Hybrid Job Category Technology
Apply Now

About the Role
We are looking for a highly skilled and hands-on Java Developer 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.

Key Responsibilities

Software Development & System Design

  • 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.
  • Participate with the development team to play L3 Production Support role on rotational basis during NAM hours to provide expertise to L2 Production Support Team when needed to answer queries and do RCA for production issues.

Engineering Excellence & Best Practices

  • 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.

Technical Leadership & Collaboration

  • 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.

Skills and Qualifications

Must-Have Skills:

  • Strong hands-on 5-8 years of experience in coding using 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.
  • Hands on experience of building RESTful APIs using popular frameworks like Spring.
  • Proficiency with data structures, algorithms and SQL
  • Strong communication and collaboration skills.

Good-to-Have 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.
  • Experience of working in investment bank or financial services industry, experience of working in OTC derivatives is a plus.
  • Experience of using cloud services such as AWS and distributed systems such as Kafka, Kubernetes, S3, DynamoDB, MongoDB or any other NoSQL database would be a plus.
  • Experience with using Gen AI, using LLM, and API’s for enhancing capabilities using vector databases to derive intelligent embeddings would be a big plus.

Education:

  • Bachelor’s degree in computer science or engineering field involving software programming or systems engineering.

    ------------------------------------------------------

    Job Family Group:

    Technology

    ------------------------------------------------------

    Job Family:

    Applications Development

    ------------------------------------------------------

    Time Type:

    Full time

    ------------------------------------------------------

    Citi is an equal opportunity employer, and qualified candidates will receive consideration without regard to their race, color, religion, sex, sexual orientation, gender identity, national origin, disability, status as a protected veteran, or any other characteristic protected by law.

    If you are a person with a disability and need a reasonable accommodation to use our search tools and/or apply for a career opportunity review Accessibility at Citi.

    View Citi’s EEO Policy Statement and the Know Your Rights poster.

    Apply Now

    Saved Jobs

    You have no saved jobs

    Previously Viewed Jobs

    You have no viewed jobs