Software Developer/ Engineer/ Architect

Software Engineer

Responsibilities

A software engineer with experience in designing, securing, building, optimizing, and supporting all aspects of infrastructure as code automation at scale - networking, storage, compute, virtualization, containers, firewalls, security, middleware etc.

Role Description: The infrastructure automation team at Citi manages a platform that builds and configures over 15000 application environments and provides full stack application infrastructure including compute, networking, storage, middleware and security.

The orchestrating application is primarily Java Spring with end point automation being performed by Ansible. We are looking for a software engineer with relevant years of experience developing APIs/web services and an appetite for developing and architecting infrastructure automation solutions. Majority of our system today is Java based but we are using microservices architecture so we are open to other languages as well - Python, Node.js or Go.


Responsibilities:

  • Work with Citi technology infrastructure teams to design and implement self-service automation APIs to be used by application developers across the bank.
  • Architect and design automation solutions for complex enterprise infrastructure lifecycle including provisioning, configuring, maintaining and decommissioning.
  • Ensure all APIs are built to software engineered standards including full CI/CD and testing automation along with API design best practices.
  • Work with enterprise infrastructure providers and application development teams to guide and co-develop automation workflows.

Job Description Summary

A software engineer with experience in designing, securing, building, optimizing, and supporting all aspects of infrastructure as code automation at scale - networking, storage, compute, virtualization, containers, firewalls, security, middleware etc.

Role Description: The infrastructure automation team at Citi manages a platform that builds and configures over 15000 application environments and provides full stack application infrastructure including compute, networking, storage, middleware and security.

The orchestrating application is primarily Java Spring with end point automation being performed by Ansible. We are looking for a software engineer with 3 years of experience developing APIs/web services and an appetite for developing and architecting infrastructure automation solutions. Majority of our system today is Java based but we are using microservices architecture so we are open to other languages as well - Python, Node.js or Go.

  • Work with enterprise infrastructure providers and application development teams to guide and co-develop automation workflows.

Qualifications:

  • Relevant years of experience in software development on Linux. Java or Python preferred but open to other programming languages as well.
  • Ability to quickly learn new concepts and software.
  • Passionate about enterprise automation solutions.
  • Prior experiences with DevOps CI/CD tools like Git and Jenkins.
  • Competent with API, web services and microservices development
  • Experience with automation tooling e.g. Ansible, Chef, Puppet or SaltStack
  • Experience with Docker, Kubernetes, Openshift
  • Experience with Terraform
  • Linux shell scripting
  • Experience with Sql/NoSql databases like Oracle, MongoDB
  • Java Spring Framework development experience
  • Experience writing automation tests
  • Strong architecture and design
  • Strong communication skills, both written and verbal
  • Strong analytical, algorithmic, and problem-solving skills
  • Excellent teamwork and proactive attitude

Education:

  • Bachelor’s degree/University degree or equivalent experience