Citi's technology team is growing at lightning speed, and we're looking for talented technologists to help build the future of global banking. Our teams are creating innovations used across the globe – we're changing the way people bank and how the world does business. Citi's technology team supports business operations in 100+ countries, across multiple lines of business spanning both Institutional and retail businesses. The group works to optimize the IT environment by standardizing production platforms, reducing complexity, and introducing innovative solutions that provide new business capabilities, reduce total cost of ownership, and create a competitive advantage for Citi. Join an environment with a laser focus on growth and progress, and take your career to the next level through the power of Citi's unmatched globality and vast expertise.
Responsibilities:
- Deliver the implementation of an API management platform (Apigee) at scale to host highly available and resilient API capabilities for internal and external consumers
- Deliver the tooling and capabilities needed to enable application hosting in container orchestration environments (Kubernetes)
- Deploy and manage large-scale Kubernetes clusters with multi-tenancy across multiple cloud vendors
- Engineer and secure container orchestration solutions (self-managed platforms and Cloud Native) with production experience using an Everything-as-Code and Automation 1st approach
- Implement best practices when it comes to availability, scalability, operational excellence, and efficiency
- Understand engineering needs including those required to build, maintain, and operate the system through all phases of its lifecycle
- Understand information modeling, data structures and algorithms to achieve exponential scale
- Incorporate testing and instrumentation into your development workflow to ensure a product is reliable and measurable
- Create and maintain continuous integration and deployment processes
- Understand maintenance characteristics, runtime properties and dependencies that exist in support of your system's software. These dependencies will include but not limited to hardware, platform, operating system, performance and load requirements, as well as contingencies with upstream and downstream system
- Devise innovative ideas for solving hard technical problems involving distributed systems, scale and security and translate these ideas into designs and implementation
Basic Qualifications:
- Bachelor's degree in related field or equivalent experience
- Hands on experience developing and engineering software and consumer facing applications
- Suggest methods and new technologies for increasing the effectiveness of changes and of general production support improvements
- Familiarity with Domain Driven Design and Event Driven Architecture
- Experience working with relational/NoSQL databases
- Experience working in a distributed, cloud-based environment using Azure/AWS/GCP (Docker/Kubernetes)
- Experience in developing software using languages such as Java, Python, C++ or Ruby.
- Experience with Service Oriented Architecture applications and cloud-based services, preferably AWS.
- Experience with modern SDLC tools, branching strategies, and ability to develop and enforce CI/CD practices
- Experience working with Linux/UNIX, Docker
Preferred Qualifications:
- Experience as an AWS Solutions Architect, Cloud Security Certification, and/or OpenStack Administrator Certification is a plus. (Other cloud-related certification also a plus.)
- Experience with TDD and automated UI testing frameworks
- Experience working with any design frameworks
- Experience with mobile web development
- Developer level operations proficiency — ability to set up a machine, knowledge of networking, familiarity with load balancers, hypervisors, CDNs, etc.