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 architectureExperience with trunk‑based development, feature flags, and progressive delivery strategiesProficiency in TDD, BDD, and automation‑first mindset to ensure high test coverage and reliabilityStrong understanding of CI / CD pipelines and DevOps practicesExperience conducting code reviews, vulnerability assessments, and secure codingFamiliarity with modern cloud‑native technologies (AWS, Kubernetes, Docker)Excellent problem‑solving skills, ability to work in fast‑paced, agile environmentsStrong communication and collaboration skillsGood‑to‑Have Skills
Experience with event‑driven architecture and distributed systemsKnowledge of performance tuning, observability, and production monitoringFamiliarity with Agile frameworks and modern ways of working in product developmentJob 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