Responsibilities
Citi’s Enterprise Infrastructure Operations & Technology organization (EIO&T) is driving an innovative Cloud First strategy that works to optimize the IT environment, reduce complexity, and implement high degrees of automation to enable more agile application delivery. We aim to give Citi businesses a competitive edge by leveraging cloud scale architectures and enabling new infrastructure economics. EIO&T operates as a technology company focused on implementing scalable and innovative next gen technology solutions that will shape the future of global banking.
The Public Cloud Platform Engineer will be instrumental in implementing the architecture and the engineering processes and best practices to enable application hosting in container orchestration environments in public cloud. The role is responsible for owning the front-end development of one or more products, building, maintaining and operating the product through all phases of its life. The ideal candidate has knowledge in modern Micro Services architectures and deployments, and cloud infrastructure and data services. The role requires a talented technologist with experience architecting and defining engineering processes and best practices to both enhance our public cloud development and ensure success in migrating applications and services to the cloud.
Responsibilities:
Deliver the tooling and capabilities needed to enable application hosting in container orchestration environments
Deploy and manage large-scale Kubernetes clusters
Engineer and secure container orchestration solutions (self-managed platforms and Cloud Native)
Understand engineering needs including those required to build, maintain, and operate the system through all phases of its life
Understand information modeling, data structures and algorithms
Participate in the front-end development for one or more products and collaborate with visual/interaction designers, other engineers, and product managers to launch new products, iterate on existing features, and build a world-class user experience
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 systems
Devise innovative ideas for solving hard technical problems and translate these ideas into designs and implementation
Implement best practices when it comes to availability, scalability, operational excellence, and efficiency
Basic Qualifications
Undergraduate degree in related field or equivalent experience
Hands on experience developing and engineering software and consumer facing applications
Experience developing and scaling JAVA REST services, using frameworks such as Spring
Experience in modern microservices architectures and deployments
Experience working in a distributed, cloud-based environment using Azure/AWS/GCP (Docker/Kubernetes)
Experience with cloud infrastructure and data services (compute, storage, networking and others)
Experience with Infrastructure as Code (IaC) practices and frameworks
Experience working with cloud-based relational and NoSQL databases
Experience with Test Driven Development (TDD) and test automation using unit testing and behavioral testing frameworks
Familiarity withdevopsand SRE practices
Experience with modern SDLC tools, branching strategies, and ability to develop and enforce CI/CD practices
Familiarity with Domain Driven Design and Event Driven Architectures
Knowledge of front-end stack, best practices, frameworks and overall architecture
Strong analytical skills
Strong collaboration and interpersonal skills
Experience working with Linux/UNIX, Docker
Preferred Qualifications
Experience as an AWS or GCP Solutions Architect, Cloud Security Certification, and/or OpenStack Administrator Certification a plus. (Other cloud-related certification also a plus.)
Experience with TDD and automated UI testing frameworks
Experience working with any design frameworks
Developer level operations proficiency — knowledge of networking, familiarity with load balancers, hypervisors, CDNs,etc