Overview
Applications Development Programmer role on an Agile software delivery team, writing and reviewing code for enterprise applications built on event-driven architecture.
What you'll do
- Apply depth of knowledge and expertise to all aspects of the software development lifecycle, and 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/review 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.
- Pair with AI coding agents and other developers as appropriate.
- Understand infrastructure issues with respect to Kafka and ElasticSearch.
- Decompose acceptance criteria to understand team backlog deliverables, complexities, and risk.
- Apply modern engineering practices such as TDD, BDD, trunk-based development, and feature toggles.
- 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 with technical leadership to achieve established goals, in line with the broader technical strategy.
- Serve as advisor or coach to new or lower-level analysts.
- Exercise independence of judgement and autonomy, and act as SME to senior stakeholders and/or other team members.
- Maintain a mindset of continuous improvement in system implementation and ways of working.
- Appropriately assess risk when business decisions are made, driving compliance with applicable laws, rules and regulations, adhering to Policy, and escalating, managing and reporting control issues with transparency.
What you'll need
- 4+ years of experience as a Java Developer / engineer.
- Strong hands-on experience with event-driven architecture using Kafka, Spring Boot microservices, SQL, Gradle, OpenShift/Kubernetes, and Elasticsearch.
- Practical experience of BDD/functional TDD using Cucumber/Spock, Trunk Based Development, feature toggles, etc.
- Strong understanding of agile development, and a craftsperson approach to engineering applying SOLID and Clean Code principles.
- Clear understanding of Data Structures and Object-Oriented Principles using Java.
- Exposure to Continuous Integration and Continuous Delivery (CI/CD) pipelines, on-premises or public cloud (e.g. Tekton, Harness, Jenkins, etc.).
- Strong experience with cloud-native development and container orchestration tools (Serverless, Docker, Kubernetes, OpenShift, etc.).
- B.Tech. / B.Engg. degree or equivalent work experience.
Nice to have
- Exposure to architecture experience in building horizontally scalable, highly available, highly resilient, and low latency event-driven applications.
- Exposure to Security, Observability, and Monitoring tools (e.g. Grafana, Prometheus, Splunk, ELK, CloudWatch, etc.).
- Good exposure to Data engineering concepts on data storage, data quality, data governance, data modeling and data management.
Details
- Location: Pune, Maharashtra, India.
- Employment type: Full time.
- Job family: Applications Development (Technology).
Read the full description and apply on the company’s own careers page.