Role Overview:
Citi is seeking a highly motivated Senior Software Engineer to join the Finance Engine Hedge Fund Billing technology team.
In this role, you will be instrumental in designing, building, and enhancing high-throughput, enterprise-grade billing and calculation engines that serve institutional hedge fund clients globally.
The Hedge Fund Billing platform is a mission-critical financial system that handles complex fee structures and high-volume transactional processing across multiple business lines.
You will work closely with product managers, business analysts, and technical leads to deliver scalable, resilient, and cloud-ready full-stack solutions using Java , Angular , and MSSQL technologies.
Key Responsibilities:
1. Architecture, Design & Full-Stack Engineering
Design, develop, test, deploy, and maintain robust full-stack applications leveraging Java microservices and modern Angular frontends.
Architect modular, extensible services capable of performing high-volume calculations.
Develop interactive, intuitive user interfaces and operational dashboards in Angular , ensuring seamless user experience, state management, and performance.
Write clean, well-documented, testable, and maintainable code adhering to Citi's engineering standards and design patterns.
2. Database Engineering & Performance Optimization
Design efficient relational database schemas, complex SQL queries, stored procedures, indexing strategies, and views for high-performance financial data processing.
Profile and optimize backend queries and API performance to ensure low-latency data retrieval and reliable processing of large billing datasets.
Ensure data integrity, transactional consistency (ACID compliance), and auditability across all financial accounting workflows.
3. End-to-End Code Ownership & Delivery
Take full end-to-end ownership of the software lifecycle—from requirement analysis and technical design to implementation, automated testing, deployment, and post-release support.
Drive iterative delivery using Agile/Scrum methodologies, collaborating with cross-functional teams in sprint planning, backlog grooming, and demos.
Champion test-driven development (TDD) and automated testing across unit, integration, and end-to-end testing frameworks (JUnit, Mockito, Jasmine/Karma, Cypress).
4. DevOps, CI/CD & Modernization
Integrate automated builds, static code analysis (SonarQube), vulnerability scanning, and automated deployments into enterprise CI/CD pipelines (Jenkins, Bitbucket, Harness, or similar).
Participate in platform modernization initiatives, including containerization (Docker, OpenShift/Kubernetes) and cloud-ready architectural enhancements.
5. Production Support & Operational Excellence
Partner with Level 3 Application Support and DevOps teams to diagnose and remediate production issues, conduct root-cause analyses (RCA), and implement preventive fixes.
Implement comprehensive monitoring, alerting, health checks, and structured logging (Prometheus, Grafana, Splunk/ELK) to maintain high availability.
Qualifications & Skills:
Required Technical Qualifications:
Experience: 5–8 years of professional hands-on software development experience building enterprise-scale distributed systems (experience in Financial Services is a must).
Java Expertise: In-depth knowledge of Core Java, JVM internals, concurrency, multi-threading, Spring Framework, Spring Boot, and RESTful API architecture.
Angular Expertise: Strong proficiency in modern Angular, TypeScript, HTML5/CSS3, responsive UI design, and single-page application (SPA) architecture.
Database & SQL: Extensive experience with relational databases (Oracle, PostgreSQL, MS SQL, or Sybase), complex query tuning, schema design, and transaction management.
Microservices & Messaging: Practical experience with microservices architecture, REST/JSON APIs, and message brokers/event streaming (e.g., Apache Kafka, RabbitMQ, or JMS).
Testing & Quality: Solid foundation in unit testing and mocking…