The Applications Development Senior Programmer Analyst is an intermediate level position responsible for participation in the establishment and implementation of new or revised application systems and programs in coordination with the Technology team. The overall objective of this role is to contribute to applications systems analysis and programming activities.
The Role
We are looking for experienced and proficient full-stack software engineers who are passionate about solving business problems through innovation and engineering practices. This role will be responsible for writing code, pairing with other developers as appropriate, decomposing acceptance criteria to understand team backlog deliverables, complexities, and risk, while working as a strong contributor on an agile team.
From a technical standpoint, the Software Engineer has full-stack coding and implementation responsibilities and adheres to best practice principles, including modern cloud-based software development, agile and scrum, code quality, and tool usage. The Software Engineer works to understand and influence software architecture, while contributing to Citi's and GFT's technical user base.
Responsibilities
Apply depth of knowledge and expertise to all aspects of the software development lifecycle, as well as partner continuously with stakeholders on a regular basis
Develop and engineer solutions within an Agile software delivery team, working to collaboratively deliver sprint goals, write code, and participate in the broader Citi technical community and team-level Agile and Scrum processes.
Contribute to the design, documentation, and development of world-class enterprise applications leveraging the latest technologies and software design patterns.
Leverage technical knowledge of concepts and procedures within own area and basic knowledge of other areas to resolve issues, as necessary.
Follow and contribute to defining technical and team standards.
Collaborate technical leadership to achieve established goals, in line with our broader technical strategy.
Required Qualifications
9+ years of experience as a Software Engineer/Developer using Java
Multiple years of experience with software engineering best practices (unit testing, automation, design patterns, peer review, etc.)
Clear understanding of Data Structures and Object Oriented Principles using Java
Multiple years of experience with Cloud-native development and Container Orchestration tools (Serverless, Docker, Kubernetes, OpenShift, etc.).
Multiple years of experience on Service Oriented and MicroServices architectures, including REST and GraphQL implementations
Multiple years of experience with frameworks like Spring Boot, Quarkus, Micronaut, or Vert.x
Exposure to front-end technologies (Angular, Javascript, Typescript)
Exposure to Continuous Integration and Continuous Delivery (CI/CD) pipelines, either on-premise or public cloud (i.e., Tekton, Harness, CircleCI, Cloudbees Jenkins, etc.)
Multiple years of experience with agile and iterative software delivery (SCRUM, Kanban)
Exposure to Database technologies (RDBMS, NoSQL, Oracle, MySQL, Mongo)
Exposure to event-driven design and architecture (i.e., Kafka, Spark Flink, RabbitMQ, etc.)
B.Tech/B.Engg degree or equivalent work experience
Preferred Qualifications
Exposure to architecture experience in building horizontally scalable, highly available, highly resilient, and low latency applications
Exposure to Cloud infrastructure both on-premise and public cloud (i.e., OpenShift, AWS, etc.)
Exposure to API Management tools
Exposure to Infrastructure as Code tools (i.e., Terraform, Cloudformation, etc.)
Exposure to Security, Observability, and Monitoring tools (i.e., Grafana Prometheus, Splunk, ELK, CloudWatch, etc.)
Experience mentoring and providing technical leadership for teams of 5 or more developers
Exposure to Job Schedulers (i.e. Autosys, Cloudwatch, etc)
Education:
Bachelor's degree/University degree or equivalent experience
This job description provides a high-level review of the types of work performed. Other job-related duties may be assigned as required.
------------------------------------------------------
Job Family Group:
Technology------------------------------------------------------
Job Family:
Applications Development------------------------------------------------------
Time Type:
Full time------------------------------------------------------
Citi is an equal opportunity and affirmative action employer.
Qualified applicants will receive consideration without regard to their race, color, religion, sex, sexual orientation, gender identity, national origin, disability, or status as a protected veteran.
Citigroup Inc. and its subsidiaries ("Citi") invite all qualified interested applicants to apply for career opportunities. If you are a person with a disability and need a reasonable accommodation to use our search tools and/or apply for a career opportunity reviewAccessibility at Citi.
View the "EEO is the Law" poster. View theEEO is the Law Supplement.
View theEEO Policy Statement.
View thePay Transparency Posting