XiP is building a next-generation cross-asset calculation system for Citi trading desks and enterprise users in the largest global financial markets and exchanges in New York, London, and other major financial hubs.
Senior Java Cloud App Developerwill be responsible for leading a variety of engineering and infrastructure activities, including developing new features to our Java calculation services to be compatible with multiple public clouds, interfacing with the High Performance Compute team to determine and challenge requirements/needs to use public cloud providers, and integrating our Java applications with these cloud providers to improve the scalability of the platform. The overall objective of this role is to develop our Java services to be on native cloud services as soon as possible with specific focus on delivering robust technology solutions to XiP Clients.
Key Responsibilities:
- Development of high-quality software, emphasizing simplicity, maintainability, testability, and reuse.
- Identifying and implementing automation opportunities around testing, monitoring, deployment, and any other manual operations
- Participation in code and design reviews.
- Thorough testing including test automation and performance/load testing.
- Providing support and assistance to clients
- Contributing to architectural standards, development best practices, and promoting adherence to these standards.
- Develop features on our Java Spring boot Services along with XiP colleagues.
- Collaborate with the Citi Tech and Infrastructure colleagues and 3rd party public cloud vendors such as AWS and Google Cloud Platform to bring relevant public cloud infra and services into Citi in a timely fashion.
- Work closely with Citi Cloud Security team to ensure public cloud services undergo proper evaluations speedily, with business priorities upheld.
- Partner with multiple teams to ensure appropriate integration of functions to meet our business and technology goals.
- Identify and define necessary system enhancements to improve current processes and architecture.
- Provide expertise and advanced knowledge in Java Spring Boot and Google Cloud/AWS with the team.
- Perform support tasks such as troubleshooting with clients and working with production support to triage production stability issues.
- Provide in-depth analysis with interpretive thinking to define issues and develop innovative solutions.
- Serve as advisor or coach to mid-level engineers and analysts, allocating work, as necessary.
- Appropriately assess risk when business decisions are made, demonstrating consideration for the firm's reputation and safeguarding Citigroup, its clients, and assets.
Required Skills:
- Expert with Java based services in Public Cloud with extensive experience in industry
- Proven experience in developing and deploying enterprise level applications for container platforms, such as the public cloud Kubernetes services in Amazon Web Services / Google Cloud, or on-premises platform such as RedHat OpenShift.
- Familiarity with Java, Spring and SpringBoot frameworks.
- Familiarity with Public Cloud Storage offerings such as AWS S3, FsX, DynamoDB/MongoDB, and Google Cloud Storage/Filestore solutions.
- SME in Kubernetes related technologies such as Kubernetes cluster autoscaler, Karpenter and KEDA.
- In-depth knowledge in using tools such as Terraform, Helm, kubectl, Hashicorp vault.
- Deep understanding of event-driven and streaming microservices. Extensive experinece using Kafka and Cloud-native messaging systems (AWS SQS/SNS or Google Pub/Sub or Equivalent)
- Familiar with asynchronous programming using promises/futures (e.g., CompletableFuture).
- Extensive experience with multi-threaded applications.
- Deep understanding of event-driven and streaming microservices. Extensive experience using Kafka, leveraging Kafka Connect and Kafka Streams.
- Working knowledge of SQL and NoSQL databases such as Oracle and MongoDB
- Understanding of agile methodologies and experience using developer tools such as GitHub, Bitbucket, JIRA, Artifactory and Jenkins.
- Experience in analysing application metrics using observability tools such as Splunk, Elasticsearch, Grafana, and Cloud Native Tools (Cloudwatch/Google Cloud Observability).
- Advocate for industry best practice, especially with regards to clean code, testing, continuous integration, and deployment.
- Be flexible and agile to fast evolving technology and business demands and changing priorities.
- Product-focused, with the capability to interact with clients and deliver results, taking ideas to production.
- Demonstrated leadership and project management skills.
- Demonstrates clear and concise written and verbal communication consistently.
Desirable Skills:
- Investment Banking / High Performance Compute platform experience would be an advantage.
- Experience in Java programming in Spring framework
- Expertise in both AWS and GCP (Google Cloud Platform). In particular, the differences between the two cloud providers and how to deploy to them.
- Experience with DevOps tools such as Helm, Terraform, Vault, kubectl
- Experience with Microservice Architecture
- Experience using the Groovy language
Education:
- Bachelor’s degree or equivalent experience.
- Master’s degree in an engineering or science subject preferred.