Job Description
Join to apply for the
Sr Software Engineer
role at
Citi .
About Citi
Citi, the leading global bank, has approximately 200 million customer accounts and operates in more than 160 countries and jurisdictions. The bank provides a broad range of financial products and services including consumer banking, corporate and investment banking, securities brokerage, transaction services, and wealth management. Citi values diversity, fosters an inclusive environment and is committed to delivering client and partner experiences with secure and reliable services.
About the Role
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 role leads applications systems analysis and programming activities, driving modern engineering practices and technology transformation within the teams.
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.
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.
Implement and enforce secure coding practices, performing vulnerability assessments and ensuring compliance with security standards.
Conduct thorough code reviews, ensuring adherence to best practices in readability, performance, and security.
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
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, ability to work in fast‑paced, agile environments
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
Job Details
Job Family Group: Technology
Job Family: Applications Development
Time Type: Full time
Primary Location: Full Time Salary Range: $120,800.00 - $170,800.00
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.
Accessibility at Citi. View Citi’s EEO Policy Statement and the Know Your Rights poster.
#J-18808-Ljbffr