C

Citi

Runs banking and payments for global clients

Senior Software Engineer

Backend EngineeringPosted on Nov 9
Full-timeMississauga, ON, Canada$120.8k - $170.8kHybrid

About the Job

Requirements

  • Significant enterprise backend engineering experience with Java (Java 17/21+) and/or Kotlin.
  • At least 12 years of experience in the related field.
  • Expert-level understanding of JVM internals, garbage collection tuning, concurrent programming, asynchronous paradigms such as Kotlin Coroutines and Java Virtual Threads/Project Loom, and data structures.
  • A proven track record architecting and supporting enterprise-scale distributed backend systems in production environments.
  • Solid experience in API design, microservices architecture, and enterprise messaging systems such as Apache Kafka, Solace, or RabbitMQ.
  • Deep hands-on experience navigating, scripting with Bash/Shell, profiling, and troubleshooting within enterprise Linux/Unix environments.
  • Advanced expertise with Gradle, including multi-module builds and custom plugins, and/or Maven.
  • Practical experience configuring, securing, and maintaining automated build and release pipelines using Jenkins.
  • Strong proficiency with Docker and Kubernetes deployment automation using Helm.
  • A bachelor's or master's degree in Computer Science, Software Engineering, Financial Engineering, Mathematics, or a related quantitative/technical discipline, or equivalent practical experience.
  • Extensive professional experience in software engineering, with demonstrated progression into senior, lead, or VP-level technical responsibilities.
  • Strong analytical, problem-solving, and algorithmic thinking skills.
  • Exceptional verbal and written communication skills and ability to bridge technical concepts and complex business logic for diverse stakeholders.
  • Proven ability to take end-to-end ownership of critical systems, from design and implementation to operational support and reliability engineering.
  • Passion for fostering an inclusive, collaborative, and high-performance engineering culture.

Responsibilities

  • Design, build, test, and deploy resilient, highly scalable, low-latency distributed backend services using Kotlin and/or Java on the modern JVM ecosystem.
  • Lead architecture decisions and code reviews to ensure scalability, thread safety, fault tolerance, and optimal memory management.
  • Drive modular software design, Clean Architecture principles, domain-driven design, and test-driven development.
  • Architect and manage continuous integration and continuous delivery pipelines using Jenkins, Gradle, and containerization workflows.
  • Package and deploy microservices and distributed workloads using Helm charts on Kubernetes or OpenShift.
  • Conduct performance tuning, debugging, profiling, and infrastructure automation in enterprise Linux environments.
  • Partner with quantitative analysts, risk managers, product owners, and trading stakeholders to translate complex risk and pricing requirements into robust software solutions.
  • Act as a technical mentor and provide engineering guidance, code reviews, and architectural leadership to junior and mid-level developers.
  • Champion modern Agile practices, engineering standards, automated testing, and production stability.

Desired Qualifications

  • Background in financial services, specifically equity derivatives, structured products, or pricing and risk engines.
  • Familiarity with financial risk concepts including Greeks (Delta, Gamma, Vega, Theta), PnL attribution, scenario analysis, stress testing, and real-time or end-of-day risk calculations.
  • Experience with C#/.NET and WPF (Windows Presentation Foundation) UI development for front-office trading or risk management desktop tools.
  • Experience with high-performance distributed caching and time-series or columnar stores such as Redis, Hazelcast, KDB+, and ClickHouse.

About the Company

Citi

Runs banking and payments for global clients

Citi runs banking, investment and payment services for companies, governments and individuals around the world. Its global network connects institutions with local banking systems, while its US consumer business sells credit cards and deposit accounts. Corporate clients use Citi to manage cash, finance trade and raise capital, and investors use its trading, custody and wealth services to hold and manage assets. The bank earns interest on loans and fees from payments, securities transactions, financial advice and account services. Citi traces its banking roots to 1812; the Citigroup holding company was formed in 1998, and its headquarters are in New York City.

Company size
10,001+
Company stage
IPO
Headquarters
New York City, New York
Founded
1812

Recently Posted Jobs

Explore more opportunities at Citi

See more jobs